Convert android examples of resource-encapsulation into android-studio project.
authorcoderhyme <jhyo.kim@samsung.com>
Wed, 23 Sep 2015 14:31:12 +0000 (07:31 -0700)
committerMadan Lanka <lanka.madan@samsung.com>
Fri, 25 Sep 2015 06:55:58 +0000 (06:55 +0000)
Additionally source is modified to align with new version of apis.
Project names are changed as well to align with tizen samples.

ResourceContainer examples are removed because it will be excluded from service api.

JIRA issue : https://jira.iotivity.org/i#browse/IOT-744

Change-Id: Ie26dcef2ba373cde796099c4f6e5c32fbcf8aa03
Signed-off-by: coderhyme <jhyo.kim@samsung.com>
Reviewed-on: https://gerrit.iotivity.org/gerrit/2999
Tested-by: jenkins-iotivity <jenkins-iotivity@opendaylight.org>
Reviewed-by: Madan Lanka <lanka.madan@samsung.com>
104 files changed:
service/resource-encapsulation/examples/android/REClient/.classpath [deleted file]
service/resource-encapsulation/examples/android/REClient/.project [deleted file]
service/resource-encapsulation/examples/android/REClient/AndroidManifest.xml [deleted file]
service/resource-encapsulation/examples/android/REClient/ic_launcher-web.png [deleted file]
service/resource-encapsulation/examples/android/REClient/project.properties [deleted file]
service/resource-encapsulation/examples/android/REClient/res/drawable-hdpi/ic_launcher.png [deleted file]
service/resource-encapsulation/examples/android/REClient/res/drawable-hdpi/iot.jpg [deleted file]
service/resource-encapsulation/examples/android/REClient/res/drawable-mdpi/ic_launcher.png [deleted file]
service/resource-encapsulation/examples/android/REClient/res/drawable-xhdpi/ic_launcher.png [deleted file]
service/resource-encapsulation/examples/android/REClient/res/drawable-xxhdpi/ic_launcher.png [deleted file]
service/resource-encapsulation/examples/android/REClient/res/layout/activity_main.xml [deleted file]
service/resource-encapsulation/examples/android/REClient/res/layout/resource_container.xml [deleted file]
service/resource-encapsulation/examples/android/REClient/res/layout/resourceclientapis.xml [deleted file]
service/resource-encapsulation/examples/android/REClient/res/layout/userinputforattributevalue.xml [deleted file]
service/resource-encapsulation/examples/android/REClient/res/menu/main.xml [deleted file]
service/resource-encapsulation/examples/android/REClient/res/values-v11/styles.xml [deleted file]
service/resource-encapsulation/examples/android/REClient/res/values-v14/styles.xml [deleted file]
service/resource-encapsulation/examples/android/REClient/res/values-w820dp/dimens.xml [deleted file]
service/resource-encapsulation/examples/android/REClient/res/values/dimens.xml [deleted file]
service/resource-encapsulation/examples/android/REClient/res/values/strings.xml [deleted file]
service/resource-encapsulation/examples/android/REClient/res/values/styles.xml [deleted file]
service/resource-encapsulation/examples/android/REClient/src/com/re/sampleclient/ContainerClientActivity.java [deleted file]
service/resource-encapsulation/examples/android/REClient/src/com/re/sampleclient/MainActivity.java [deleted file]
service/resource-encapsulation/examples/android/REClient/src/com/re/sampleclient/ResourceClient.java [deleted file]
service/resource-encapsulation/examples/android/REClient/src/com/re/sampleclient/ResourceClientActivity.java [deleted file]
service/resource-encapsulation/examples/android/RESampleClientApp/.gitignore [new file with mode: 0644]
service/resource-encapsulation/examples/android/RESampleClientApp/README [new file with mode: 0644]
service/resource-encapsulation/examples/android/RESampleClientApp/RESampleClientApp.iml [new file with mode: 0644]
service/resource-encapsulation/examples/android/RESampleClientApp/app/.gitignore [new file with mode: 0644]
service/resource-encapsulation/examples/android/RESampleClientApp/app/app.iml [new file with mode: 0644]
service/resource-encapsulation/examples/android/RESampleClientApp/app/build.gradle [new file with mode: 0644]
service/resource-encapsulation/examples/android/RESampleClientApp/app/src/main/AndroidManifest.xml [new file with mode: 0644]
service/resource-encapsulation/examples/android/RESampleClientApp/app/src/main/java/org/iotivity/service/sample/client/MainActivity.java [new file with mode: 0644]
service/resource-encapsulation/examples/android/RESampleClientApp/app/src/main/java/org/iotivity/service/sample/client/ResourceClientActivity.java [new file with mode: 0644]
service/resource-encapsulation/examples/android/RESampleClientApp/app/src/main/res/layout/activity_main.xml [new file with mode: 0644]
service/resource-encapsulation/examples/android/RESampleClientApp/app/src/main/res/layout/activity_resource_client.xml [new file with mode: 0644]
service/resource-encapsulation/examples/android/RESampleClientApp/app/src/main/res/layout/dialog_content_edit_text.xml [new file with mode: 0644]
service/resource-encapsulation/examples/android/RESampleClientApp/app/src/main/res/mipmap-hdpi/ic_launcher.png [new file with mode: 0644]
service/resource-encapsulation/examples/android/RESampleClientApp/app/src/main/res/mipmap-mdpi/ic_launcher.png [new file with mode: 0644]
service/resource-encapsulation/examples/android/RESampleClientApp/app/src/main/res/mipmap-xhdpi/ic_launcher.png [new file with mode: 0644]
service/resource-encapsulation/examples/android/RESampleClientApp/app/src/main/res/mipmap-xxhdpi/ic_launcher.png [new file with mode: 0644]
service/resource-encapsulation/examples/android/RESampleClientApp/app/src/main/res/values-v21/styles.xml [new file with mode: 0644]
service/resource-encapsulation/examples/android/RESampleClientApp/app/src/main/res/values/strings.xml [new file with mode: 0644]
service/resource-encapsulation/examples/android/RESampleClientApp/app/src/main/res/values/styles.xml [new file with mode: 0644]
service/resource-encapsulation/examples/android/RESampleClientApp/build.gradle [new file with mode: 0644]
service/resource-encapsulation/examples/android/RESampleClientApp/settings.gradle [new file with mode: 0644]
service/resource-encapsulation/examples/android/RESampleServerApp/.gitignore [new file with mode: 0644]
service/resource-encapsulation/examples/android/RESampleServerApp/README [new file with mode: 0644]
service/resource-encapsulation/examples/android/RESampleServerApp/RESampleServerApp.iml [new file with mode: 0644]
service/resource-encapsulation/examples/android/RESampleServerApp/app/.gitignore [new file with mode: 0644]
service/resource-encapsulation/examples/android/RESampleServerApp/app/app.iml [new file with mode: 0644]
service/resource-encapsulation/examples/android/RESampleServerApp/app/build.gradle [new file with mode: 0644]
service/resource-encapsulation/examples/android/RESampleServerApp/app/proguard-rules.pro [new file with mode: 0644]
service/resource-encapsulation/examples/android/RESampleServerApp/app/src/main/AndroidManifest.xml [new file with mode: 0644]
service/resource-encapsulation/examples/android/RESampleServerApp/app/src/main/java/org/iotivity/service/sample/server/CustomServerActivity.java [new file with mode: 0644]
service/resource-encapsulation/examples/android/RESampleServerApp/app/src/main/java/org/iotivity/service/sample/server/MainActivity.java [new file with mode: 0644]
service/resource-encapsulation/examples/android/RESampleServerApp/app/src/main/java/org/iotivity/service/sample/server/ResourceProperties.java [new file with mode: 0644]
service/resource-encapsulation/examples/android/RESampleServerApp/app/src/main/java/org/iotivity/service/sample/server/SimpleServerActivity.java [new file with mode: 0644]
service/resource-encapsulation/examples/android/RESampleServerApp/app/src/main/res/layout/activity_custom_server.xml [new file with mode: 0644]
service/resource-encapsulation/examples/android/RESampleServerApp/app/src/main/res/layout/activity_main.xml [new file with mode: 0644]
service/resource-encapsulation/examples/android/RESampleServerApp/app/src/main/res/layout/activity_simple_server.xml [new file with mode: 0644]
service/resource-encapsulation/examples/android/RESampleServerApp/app/src/main/res/layout/dialog_content_edit_text.xml [new file with mode: 0644]
service/resource-encapsulation/examples/android/RESampleServerApp/app/src/main/res/mipmap-hdpi/ic_launcher.png [new file with mode: 0644]
service/resource-encapsulation/examples/android/RESampleServerApp/app/src/main/res/mipmap-mdpi/ic_launcher.png [new file with mode: 0644]
service/resource-encapsulation/examples/android/RESampleServerApp/app/src/main/res/mipmap-xhdpi/ic_launcher.png [new file with mode: 0644]
service/resource-encapsulation/examples/android/RESampleServerApp/app/src/main/res/mipmap-xxhdpi/ic_launcher.png [new file with mode: 0644]
service/resource-encapsulation/examples/android/RESampleServerApp/app/src/main/res/values-v21/styles.xml [new file with mode: 0644]
service/resource-encapsulation/examples/android/RESampleServerApp/app/src/main/res/values/strings.xml [new file with mode: 0644]
service/resource-encapsulation/examples/android/RESampleServerApp/app/src/main/res/values/styles.xml [new file with mode: 0644]
service/resource-encapsulation/examples/android/RESampleServerApp/build.gradle [new file with mode: 0644]
service/resource-encapsulation/examples/android/RESampleServerApp/settings.gradle [new file with mode: 0644]
service/resource-encapsulation/examples/android/REServer/.classpath [deleted file]
service/resource-encapsulation/examples/android/REServer/.project [deleted file]
service/resource-encapsulation/examples/android/REServer/AndroidManifest.xml [deleted file]
service/resource-encapsulation/examples/android/REServer/assets/lib/ResourceContainerConfig.xml [deleted file]
service/resource-encapsulation/examples/android/REServer/ic_launcher-web.png [deleted file]
service/resource-encapsulation/examples/android/REServer/project.properties [deleted file]
service/resource-encapsulation/examples/android/REServer/res/drawable-hdpi/ic_launcher.png [deleted file]
service/resource-encapsulation/examples/android/REServer/res/drawable-hdpi/iot.jpg [deleted file]
service/resource-encapsulation/examples/android/REServer/res/drawable-mdpi/ic_launcher.png [deleted file]
service/resource-encapsulation/examples/android/REServer/res/drawable-xhdpi/ic_launcher.png [deleted file]
service/resource-encapsulation/examples/android/REServer/res/drawable-xxhdpi/ic_launcher.png [deleted file]
service/resource-encapsulation/examples/android/REServer/res/layout/activity_main.xml [deleted file]
service/resource-encapsulation/examples/android/REServer/res/layout/group.xml [deleted file]
service/resource-encapsulation/examples/android/REServer/res/layout/list_item.xml [deleted file]
service/resource-encapsulation/examples/android/REServer/res/layout/resource_container.xml [deleted file]
service/resource-encapsulation/examples/android/REServer/res/layout/server_builder.xml [deleted file]
service/resource-encapsulation/examples/android/REServer/res/layout/server_builder_auto.xml [deleted file]
service/resource-encapsulation/examples/android/REServer/res/layout/server_builder_dev.xml [deleted file]
service/resource-encapsulation/examples/android/REServer/res/layout/userinputfortemperaturevalue.xml [deleted file]
service/resource-encapsulation/examples/android/REServer/res/menu/main.xml [deleted file]
service/resource-encapsulation/examples/android/REServer/res/values-v11/styles.xml [deleted file]
service/resource-encapsulation/examples/android/REServer/res/values-v14/styles.xml [deleted file]
service/resource-encapsulation/examples/android/REServer/res/values-w820dp/dimens.xml [deleted file]
service/resource-encapsulation/examples/android/REServer/res/values/dimens.xml [deleted file]
service/resource-encapsulation/examples/android/REServer/res/values/strings.xml [deleted file]
service/resource-encapsulation/examples/android/REServer/res/values/styles.xml [deleted file]
service/resource-encapsulation/examples/android/REServer/src/com/example/sampleserver/MainActivity.java [deleted file]
service/resource-encapsulation/examples/android/REServer/src/com/example/sampleserver/ResourceContainer.java [deleted file]
service/resource-encapsulation/examples/android/REServer/src/com/example/sampleserver/ResourceContainerActivity.java [deleted file]
service/resource-encapsulation/examples/android/REServer/src/com/example/sampleserver/ServerBuilder.java [deleted file]
service/resource-encapsulation/examples/android/REServer/src/com/example/sampleserver/ServerBuilderActivity.java [deleted file]
service/resource-encapsulation/examples/android/REServer/src/com/example/sampleserver/ServerBuilderAutoActivity.java [deleted file]
service/resource-encapsulation/examples/android/REServer/src/com/example/sampleserver/ServerBuilderDevActivity.java [deleted file]

diff --git a/service/resource-encapsulation/examples/android/REClient/.classpath b/service/resource-encapsulation/examples/android/REClient/.classpath
deleted file mode 100644 (file)
index 816c700..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-       <classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
-       <classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
-       <classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.DEPENDENCIES"/>
-       <classpathentry combineaccessrules="false" exported="true" kind="src" path="/java"/>
-       <classpathentry kind="src" path="src"/>
-       <classpathentry kind="src" path="gen"/>
-       <classpathentry kind="output" path="bin/classes"/>
-</classpath>
diff --git a/service/resource-encapsulation/examples/android/REClient/.project b/service/resource-encapsulation/examples/android/REClient/.project
deleted file mode 100644 (file)
index 66cfb95..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-       <name>REClient</name>
-       <comment></comment>
-       <projects>
-       </projects>
-       <buildSpec>
-               <buildCommand>
-                       <name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name>
-                       <arguments>
-                       </arguments>
-               </buildCommand>
-               <buildCommand>
-                       <name>com.android.ide.eclipse.adt.PreCompilerBuilder</name>
-                       <arguments>
-                       </arguments>
-               </buildCommand>
-               <buildCommand>
-                       <name>org.eclipse.jdt.core.javabuilder</name>
-                       <arguments>
-                       </arguments>
-               </buildCommand>
-               <buildCommand>
-                       <name>com.android.ide.eclipse.adt.ApkBuilder</name>
-                       <arguments>
-                       </arguments>
-               </buildCommand>
-       </buildSpec>
-       <natures>
-               <nature>com.android.ide.eclipse.adt.AndroidNature</nature>
-               <nature>org.eclipse.jdt.core.javanature</nature>
-       </natures>
-</projectDescription>
diff --git a/service/resource-encapsulation/examples/android/REClient/AndroidManifest.xml b/service/resource-encapsulation/examples/android/REClient/AndroidManifest.xml
deleted file mode 100644 (file)
index 5b7914d..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<manifest xmlns:android="http://schemas.android.com/apk/res/android"
-    package="com.re.sampleclient"
-    android:versionCode="1"
-    android:versionName="1.0" >
-
-   <uses-sdk
-        android:minSdkVersion="8"
-        android:targetSdkVersion="21" />
-
-    <uses-permission android:name="android.permission.INTERNET" />
-    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
-
-    <application
-        android:allowBackup="true"
-        android:icon="@drawable/iot"
-        android:label="@string/app_name"
-        android:theme="@style/AppTheme" >
-        <activity
-            android:name="com.re.sampleclient.MainActivity"
-            android:label="@string/app_name" >
-            <intent-filter>
-                <action android:name="android.intent.action.MAIN" />
-
-                <category android:name="android.intent.category.LAUNCHER" />
-            </intent-filter>
-        </activity>
-        <activity
-            android:name="com.re.sampleclient.ResourceClientActivity"
-            android:label="@string/app_name" >
-        </activity>
-        <activity
-            android:name="com.re.sampleclient.ContainerClientActivity"
-            android:label="@string/app_name" >
-        </activity>
-    </application>
-
-</manifest>
diff --git a/service/resource-encapsulation/examples/android/REClient/ic_launcher-web.png b/service/resource-encapsulation/examples/android/REClient/ic_launcher-web.png
deleted file mode 100644 (file)
index a18cbb4..0000000
Binary files a/service/resource-encapsulation/examples/android/REClient/ic_launcher-web.png and /dev/null differ
diff --git a/service/resource-encapsulation/examples/android/REClient/project.properties b/service/resource-encapsulation/examples/android/REClient/project.properties
deleted file mode 100644 (file)
index 6ab28b0..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-# This file is automatically generated by Android Tools.
-# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
-#
-# This file must be checked in Version Control Systems.
-#
-# To customize properties used by the Ant build system edit
-# "ant.properties", and override values to adapt the script to your
-# project structure.
-#
-# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home):
-#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
-
-# Project target.
-target=android-21
-android.library.reference.1=../../../sdk/java
diff --git a/service/resource-encapsulation/examples/android/REClient/res/drawable-hdpi/ic_launcher.png b/service/resource-encapsulation/examples/android/REClient/res/drawable-hdpi/ic_launcher.png
deleted file mode 100644 (file)
index 288b665..0000000
Binary files a/service/resource-encapsulation/examples/android/REClient/res/drawable-hdpi/ic_launcher.png and /dev/null differ
diff --git a/service/resource-encapsulation/examples/android/REClient/res/drawable-hdpi/iot.jpg b/service/resource-encapsulation/examples/android/REClient/res/drawable-hdpi/iot.jpg
deleted file mode 100644 (file)
index 17c5a93..0000000
Binary files a/service/resource-encapsulation/examples/android/REClient/res/drawable-hdpi/iot.jpg and /dev/null differ
diff --git a/service/resource-encapsulation/examples/android/REClient/res/drawable-mdpi/ic_launcher.png b/service/resource-encapsulation/examples/android/REClient/res/drawable-mdpi/ic_launcher.png
deleted file mode 100644 (file)
index 6ae570b..0000000
Binary files a/service/resource-encapsulation/examples/android/REClient/res/drawable-mdpi/ic_launcher.png and /dev/null differ
diff --git a/service/resource-encapsulation/examples/android/REClient/res/drawable-xhdpi/ic_launcher.png b/service/resource-encapsulation/examples/android/REClient/res/drawable-xhdpi/ic_launcher.png
deleted file mode 100644 (file)
index d4fb7cd..0000000
Binary files a/service/resource-encapsulation/examples/android/REClient/res/drawable-xhdpi/ic_launcher.png and /dev/null differ
diff --git a/service/resource-encapsulation/examples/android/REClient/res/drawable-xxhdpi/ic_launcher.png b/service/resource-encapsulation/examples/android/REClient/res/drawable-xxhdpi/ic_launcher.png
deleted file mode 100644 (file)
index 85a6081..0000000
Binary files a/service/resource-encapsulation/examples/android/REClient/res/drawable-xxhdpi/ic_launcher.png and /dev/null differ
diff --git a/service/resource-encapsulation/examples/android/REClient/res/layout/activity_main.xml b/service/resource-encapsulation/examples/android/REClient/res/layout/activity_main.xml
deleted file mode 100644 (file)
index ec14de4..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-
-<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent">
-
-     <ListView
-              android:id="@+id/list"
-              android:layout_height="wrap_content"
-              android:layout_width="match_parent">
-         </ListView>
-</RelativeLayout>
diff --git a/service/resource-encapsulation/examples/android/REClient/res/layout/resource_container.xml b/service/resource-encapsulation/examples/android/REClient/res/layout/resource_container.xml
deleted file mode 100644 (file)
index 0ffb052..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent" >
-
-       <Button
-           android:id="@+id/discoverResource"
-           android:layout_width="wrap_content"
-           android:layout_height="wrap_content"
-           android:layout_alignParentLeft="true"
-           android:layout_alignParentRight="true"
-           android:layout_alignParentTop="true"
-           android:text="Discover Resource" />
-
-         <EditText
-             android:id="@+id/log"
-             android:layout_width="fill_parent"
-             android:layout_height="250dp"
-             android:layout_alignParentLeft="true"
-             android:layout_below="@+id/discoverResource"
-             android:editable="false"
-             android:ems="10" />
-
-</RelativeLayout>
diff --git a/service/resource-encapsulation/examples/android/REClient/res/layout/resourceclientapis.xml b/service/resource-encapsulation/examples/android/REClient/res/layout/resourceclientapis.xml
deleted file mode 100644 (file)
index d2fb056..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent" >
-
-       <Button
-        android:id="@+id/button1"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_alignParentLeft="true"
-        android:layout_alignParentTop="true"
-        android:text="Discover Resource" />
-
-        <ListView
-            android:id="@+id/groupaApiList"
-            android:layout_width="match_parent"
-            android:layout_height="300dp"
-             android:layout_below="@id/button1">
-         </ListView>
-
-         <EditText
-        android:id="@+id/EditText"
-        android:layout_width="fill_parent"
-        android:layout_height="250dp"
-        android:layout_alignParentLeft="true"
-        android:layout_below="@+id/groupaApiList"
-        android:layout_marginTop="15dp"
-        android:ems="10"
-        android:editable="false" >
-
-        <requestFocus />
-    </EditText>
-
-</RelativeLayout>
diff --git a/service/resource-encapsulation/examples/android/REClient/res/layout/userinputforattributevalue.xml b/service/resource-encapsulation/examples/android/REClient/res/layout/userinputforattributevalue.xml
deleted file mode 100644 (file)
index 50b5f08..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:orientation="vertical" >
-
-      <EditText
-          android:id="@+id/attributeValue"
-          android:layout_width="wrap_content"
-          android:layout_height="wrap_content"
-          android:layout_alignParentTop="true"
-          android:layout_centerHorizontal="true"
-          android:layout_marginTop="28dp"
-          android:ems="10"
-          android:hint="Enter the Temperature" />
-
-      <Button
-          android:id="@+id/ok"
-          android:layout_width="150dp"
-          android:layout_height="wrap_content"
-          android:layout_alignParentLeft="true"
-          android:layout_below="@+id/region"
-          android:layout_marginTop="101dp"
-          android:text="OK" />
-
-       <Button
-           android:id="@+id/cancel"
-           android:layout_width="150dp"
-           android:layout_height="wrap_content"
-           android:layout_alignBaseline="@+id/ok"
-           android:layout_alignBottom="@+id/ok"
-           android:layout_alignParentRight="true"
-           android:text="Cancel" />
-
-</RelativeLayout>
diff --git a/service/resource-encapsulation/examples/android/REClient/res/menu/main.xml b/service/resource-encapsulation/examples/android/REClient/res/menu/main.xml
deleted file mode 100644 (file)
index 21f6445..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-<menu xmlns:android="http://schemas.android.com/apk/res/android" >
-    <item
-        android:id="@+id/re_client"
-        android:orderInCategory="100"
-        android:showAsAction="never"
-        android:title="@string/re_client"/>
-</menu>
diff --git a/service/resource-encapsulation/examples/android/REClient/res/values-v11/styles.xml b/service/resource-encapsulation/examples/android/REClient/res/values-v11/styles.xml
deleted file mode 100644 (file)
index 1074513..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-<resources>
-
-    <style name="AppBaseTheme" parent="android:Theme.Holo.Light">
-    </style>
-
-</resources>
diff --git a/service/resource-encapsulation/examples/android/REClient/res/values-v14/styles.xml b/service/resource-encapsulation/examples/android/REClient/res/values-v14/styles.xml
deleted file mode 100644 (file)
index 2d1ebfe..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-  <resources>
-
-    <style name="AppBaseTheme" parent="android:Theme.Light">
-    </style>
-
-    <style name="AppTheme" parent="AppBaseTheme">
-    </style>
-
-</resources>
diff --git a/service/resource-encapsulation/examples/android/REClient/res/values-w820dp/dimens.xml b/service/resource-encapsulation/examples/android/REClient/res/values-w820dp/dimens.xml
deleted file mode 100644 (file)
index 146c0e1..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-<resources>
-    <dimen name="activity_horizontal_margin">64dp</dimen>
-</resources>
diff --git a/service/resource-encapsulation/examples/android/REClient/res/values/dimens.xml b/service/resource-encapsulation/examples/android/REClient/res/values/dimens.xml
deleted file mode 100644 (file)
index fe991af..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-<resources>
-    <dimen name="activity_horizontal_margin">16dp</dimen>
-    <dimen name="activity_vertical_margin">16dp</dimen>
-</resources>
diff --git a/service/resource-encapsulation/examples/android/REClient/res/values/strings.xml b/service/resource-encapsulation/examples/android/REClient/res/values/strings.xml
deleted file mode 100644 (file)
index b44b03b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<resources>
-    <string name="app_name">REClient</string>
-    <string name="re_client">RE Client!</string>
-</resources>
diff --git a/service/resource-encapsulation/examples/android/REClient/res/values/styles.xml b/service/resource-encapsulation/examples/android/REClient/res/values/styles.xml
deleted file mode 100644 (file)
index 3ccf2b0..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-<resources>
-
-    <style name="AppBaseTheme" parent="android:Theme.Light">
-
-    </style>
-
-    <!-- Application theme. -->
-    <style name="AppTheme" parent="AppBaseTheme">
-
-    </style>
-
-</resources>
diff --git a/service/resource-encapsulation/examples/android/REClient/src/com/re/sampleclient/ContainerClientActivity.java b/service/resource-encapsulation/examples/android/REClient/src/com/re/sampleclient/ContainerClientActivity.java
deleted file mode 100644 (file)
index 5e678e0..0000000
+++ /dev/null
@@ -1,119 +0,0 @@
-/******************************************************************
- *
- * Copyright 2015 Samsung Electronics All Rights Reserved.
- *
- *
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- ******************************************************************/
-
-package com.re.sampleclient;
-
-import java.util.Vector;
-
-import org.iotivity.ResourceEncapsulation.client.RCSAddress;
-import org.iotivity.ResourceEncapsulation.client.RCSDiscoveryManager;
-import org.iotivity.ResourceEncapsulation.client.RCSDiscoveryManager.IDiscoverResourceListener;
-import org.iotivity.ResourceEncapsulation.client.RCSRemoteResourceObject;
-import org.iotivity.ResourceEncapsulation.common.RCSException;
-
-import android.app.Activity;
-import android.os.Bundle;
-import android.util.Log;
-import android.view.View;
-import android.view.View.OnClickListener;
-import android.widget.Button;
-import android.widget.EditText;
-
-/**
- * It contains the discover resource API for Discovering Container Resource
- */
-public class ContainerClientActivity extends Activity {
-
-    private final RCSDiscoveryManager     discoveyManagerObj = RCSDiscoveryManager
-                                                                     .getInstance();
-    private final String                  LOG_TAG            = "[ReSample] "
-                                                                     + this.getClass()
-                                                                             .getSimpleName();
-    private Button                        discoverResourceButton;
-    private EditText                      logs;
-    public static String                  logMessage;
-    private DiscoverResourceListener      discoverResourceListener;
-    public static ContainerClientActivity containerClientActivityObj;
-
-    @Override
-    protected void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        setContentView(R.layout.resource_container);
-
-        containerClientActivityObj = this;
-        discoverResourceButton = (Button) findViewById(R.id.discoverResource);
-        logs = (EditText) findViewById(R.id.log);
-
-        discoverResourceListener = new DiscoverResourceListener();
-        discoveyManagerObj
-                .setDiscoverResourceListener(discoverResourceListener);
-
-        discoverResourceButton.setOnClickListener(new OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                RCSAddress address = RCSAddress.multicast();
-                try {
-                    discoveyManagerObj.discoverResourceByType(address,
-                            "oic.softsensor");
-                    logMessage = "";
-                    logs.setText(logMessage);
-                } catch (RCSException e) {
-                    e.printStackTrace();
-                }
-            }
-        });
-    }
-
-    /**
-     * Listener for receiving Resource discovered in the network.
-     */
-    private class DiscoverResourceListener implements IDiscoverResourceListener {
-
-        @Override
-        public void onResourceDiscovered(RCSRemoteResourceObject foundResource) {
-            Log.i(LOG_TAG, "onResourceDiscovered invoked");
-
-            String resourceURI = foundResource.getUri();
-            String hostAddress = foundResource.getAddress();
-            boolean isObservableflag = foundResource.isObservable();
-
-            Vector<String> resourceTypes = foundResource.getTypes();
-            Vector<String> resourceInterfaces = foundResource.getInterFaces();
-
-            logMessage = "URI : " + resourceURI + "\n";
-            logMessage += "Host : " + hostAddress + "\n";
-            for (int i = 0; i < resourceTypes.size(); i++) {
-                logMessage += "resourceType : " + resourceTypes.get(i) + "\n";
-            }
-
-            for (int i = 0; i < resourceInterfaces.size(); i++) {
-                logMessage += "resourceInterfaces : "
-                        + resourceInterfaces.get(i) + "\n";
-            }
-            logMessage += "isObservable : " + isObservableflag + "\n";
-
-            ContainerClientActivity.this.runOnUiThread(new Runnable() {
-                public void run() {
-                    logs.setText(logMessage);
-                }
-            });
-        }
-    };
-}
diff --git a/service/resource-encapsulation/examples/android/REClient/src/com/re/sampleclient/MainActivity.java b/service/resource-encapsulation/examples/android/REClient/src/com/re/sampleclient/MainActivity.java
deleted file mode 100644 (file)
index e32d8da..0000000
+++ /dev/null
@@ -1,147 +0,0 @@
-/******************************************************************
- *
- * Copyright 2015 Samsung Electronics All Rights Reserved.
- *
- *
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- ******************************************************************/
-package com.re.sampleclient;
-
-import java.util.ArrayList;
-
-import org.iotivity.base.ModeType;
-import org.iotivity.base.OcPlatform;
-import org.iotivity.base.PlatformConfig;
-import org.iotivity.base.QualityOfService;
-import org.iotivity.base.ServiceType;
-
-import android.app.Activity;
-import android.app.AlertDialog;
-import android.content.DialogInterface;
-import android.content.DialogInterface.OnClickListener;
-import android.content.Intent;
-import android.net.ConnectivityManager;
-import android.net.NetworkInfo;
-import android.os.Bundle;
-import android.util.Log;
-import android.view.View;
-import android.widget.AdapterView;
-import android.widget.AdapterView.OnItemClickListener;
-import android.widget.ArrayAdapter;
-import android.widget.ListView;
-
-/**
- * Starting Activity of the application responsible for configuring the
- * OcPlatform and redirecting to ResourceClient activity or Container Activity
- * as per user's selection.
- */
-public class MainActivity extends Activity {
-
-    private static MainActivity  activityObj;
-    private ArrayAdapter<String> apis;
-    private ArrayList<String>    apisList;
-    private ListView             list;
-    private final String         LOG_TAG = "[ReSample] "
-                                                 + this.getClass()
-                                                         .getSimpleName();
-
-    @Override
-    protected void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        setContentView(R.layout.activity_main);
-        activityObj = this;
-
-        list = (ListView) findViewById(R.id.list);
-        apisList = new ArrayList<String>();
-
-        // adding the item to list that will be displayed on the UI.
-        apisList.add("Resource Client");
-        apisList.add("Discover Container Resource");
-        apis = new ArrayAdapter<String>(activityObj,
-                android.R.layout.simple_list_item_1, apisList);
-        list.setAdapter(apis);
-
-        // handling user's selection on the UI
-        list.setOnItemClickListener(new OnItemClickListener() {
-            @Override
-            public void onItemClick(AdapterView<?> parent, View view,
-                    int position, long id) {
-
-                if (position == 0) {
-                    Intent intent = new Intent(activityObj,
-                            ResourceClientActivity.class);
-                    startActivity(intent);
-                }
-                if (position == 1) {
-
-                    Intent intent = new Intent(activityObj,
-                            ContainerClientActivity.class);
-                    startActivity(intent);
-                }
-            }
-        });
-
-        // calling the method to check the Wi-fi connectivity and configuring
-        // the OcPlatform
-        configurePlatform();
-    }
-
-    @Override
-    public void onBackPressed() {
-        apisList.clear();
-        super.onBackPressed();
-    }
-
-    private void configurePlatform() {
-        // local Variables
-        ConnectivityManager connManager;
-        NetworkInfo wifi;
-        AlertDialog dialog;
-        PlatformConfig platformConfigObj;
-
-        // Check the wifi connectivity
-        connManager = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE);
-        wifi = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
-        if (false == wifi.isConnected()) {
-            // WiFi is not connected close the application
-            AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(this);
-            dialogBuilder.setTitle("Error");
-            dialogBuilder
-                    .setMessage("WiFi is not enabled/connected! Please connect the WiFi and start application again...");
-            dialogBuilder.setCancelable(false);
-            dialogBuilder.setPositiveButton("OK", new OnClickListener() {
-                @Override
-                public void onClick(DialogInterface dialog, int which) {
-                    // Closing the application
-                    activityObj.finish();
-                }
-            });
-
-            dialog = dialogBuilder.create();
-            dialog.show();
-            Log.i(LOG_TAG,
-                    "WiFi is not enabled/connected! Please connect the WiFi and start application again...");
-            return;
-        }
-        // If wifi is connected calling the configure method for configuring the
-        // OcPlatform
-        platformConfigObj = new PlatformConfig(getApplicationContext(),
-                ServiceType.IN_PROC, ModeType.CLIENT_SERVER, "0.0.0.0", 0,
-                QualityOfService.LOW);
-
-        OcPlatform.Configure(platformConfigObj);
-        Log.i(LOG_TAG, "Configuration done Successfully");
-    }
-}
diff --git a/service/resource-encapsulation/examples/android/REClient/src/com/re/sampleclient/ResourceClient.java b/service/resource-encapsulation/examples/android/REClient/src/com/re/sampleclient/ResourceClient.java
deleted file mode 100644 (file)
index 88ba6c8..0000000
+++ /dev/null
@@ -1,507 +0,0 @@
-/******************************************************************
- *
- * Copyright 2015 Samsung Electronics All Rights Reserved.
- *
- *
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- ******************************************************************/
-package com.re.sampleclient;
-
-import java.util.Vector;
-
-import org.iotivity.ResourceEncapsulation.client.RCSAddress;
-import org.iotivity.ResourceEncapsulation.client.RCSDiscoveryManager;
-import org.iotivity.ResourceEncapsulation.client.RCSDiscoveryManager.IDiscoverResourceListener;
-import org.iotivity.ResourceEncapsulation.client.RCSRemoteResourceObject.IGetRemoteAttributeListener;
-import org.iotivity.ResourceEncapsulation.client.RCSRemoteResourceObject.ISetRemoteAttributeListener;
-import org.iotivity.ResourceEncapsulation.client.RCSRemoteResourceObject.IStateChangedCallbackListener;
-import org.iotivity.ResourceEncapsulation.client.RCSRemoteResourceObject.ICacheUpdateListener;
-import org.iotivity.ResourceEncapsulation.client.RCSRemoteResourceObject.CacheState;
-import org.iotivity.ResourceEncapsulation.client.RCSRemoteResourceObject.ResourceState;
-import org.iotivity.ResourceEncapsulation.client.RCSRemoteResourceObject;
-import org.iotivity.ResourceEncapsulation.common.AttriubtesGetValueTypes;
-import org.iotivity.ResourceEncapsulation.common.RCSException;
-import org.iotivity.ResourceEncapsulation.common.RCSResourceAttributes;
-
-import android.os.Message;
-import android.util.Log;
-
-/**
- * For calling the Resource Client APIs as per user selection on UI and for
- * updating the UI
- *
- * It contains all the Resource Client APIs.
- */
-public class ResourceClient {
-
-    private static final String              LOG_TAG                  = "[RESample] Client";
-    private static Message                   msg;
-    public String                            logMessage;
-
-    private final RCSDiscoveryManager        discoveyManagerObj;
-    public RCSRemoteResourceObject           remoteResourceObj;
-
-    private static ResourceClientActivity    resourcClientActivityObj = null;
-    private final DiscoverResourceListener   discoverResourceListener;
-    private final StateChangedListener       stateChangedListener;
-    private final CacheUpdateListener        cacheUpdateListener;
-    private final RemoteAttributeGetListener remoteAttributeGetListener;
-    private final RemoteAttributeSetListener remoteAttributeSetListener;
-    static boolean                           monitoringState          = false;
-    static boolean                           cachingState             = false;
-
-    // constructor
-    public ResourceClient() {
-        discoveyManagerObj = RCSDiscoveryManager.getInstance();
-        discoverResourceListener = new DiscoverResourceListener();
-        stateChangedListener = new StateChangedListener();
-        cacheUpdateListener = new CacheUpdateListener();
-        remoteAttributeGetListener = new RemoteAttributeGetListener();
-        remoteAttributeSetListener = new RemoteAttributeSetListener();
-
-        discoveyManagerObj
-                .setDiscoverResourceListener(discoverResourceListener);
-
-        resourcClientActivityObj = ResourceClientActivity
-                .getResourceClientActivityObj();
-    }
-
-    /**
-     * Listener for receiving Resource discovered in network.
-     */
-    private class DiscoverResourceListener implements IDiscoverResourceListener {
-
-        @Override
-        public void onResourceDiscovered(RCSRemoteResourceObject foundResource) {
-            Log.i(LOG_TAG, "onResourceDiscovered invoked");
-
-            String resourceURI = foundResource.getUri();
-            String hostAddress = foundResource.getAddress();
-            boolean isObservableflag = foundResource.isObservable();
-
-            Vector<String> resourceTypes = foundResource.getTypes();
-            Vector<String> resourceInterfaces = foundResource.getInterFaces();
-            remoteResourceObj = foundResource;
-            cachingState = false;
-            monitoringState = false;
-
-            msg = Message.obtain();
-            msg.what = 0;
-            resourcClientActivityObj.getHandler().sendMessage(msg);
-
-            logMessage = "URI : " + resourceURI + "\n";
-            logMessage += "Host : " + hostAddress + "\n";
-            for (int i = 0; i < resourceTypes.size(); i++) {
-                logMessage += "resourceType : " + resourceTypes.get(i) + "\n";
-            }
-
-            for (int i = 0; i < resourceInterfaces.size(); i++) {
-                logMessage += "resourceInterfaces : "
-                        + resourceInterfaces.get(i) + "\n";
-            }
-            logMessage += "isObservable : " + isObservableflag + "\n";
-
-            ResourceClientActivity.setMessageLog(logMessage);
-            msg = Message.obtain();
-            msg.what = 1;
-            resourcClientActivityObj.getHandler().sendMessage(msg);
-        }
-    };
-
-    /**
-     * Listener for receiving Changed resource state as a result of
-     * startMonitoring API
-     */
-    private class StateChangedListener implements IStateChangedCallbackListener {
-
-        @Override
-        public void onStateChanged(ResourceState resourceState) {
-            Log.i(LOG_TAG, "onStateChangedCallback invoked");
-
-            switch (resourceState) {
-                case NONE:
-                    Log.i(LOG_TAG, "Current Resource State : NOT_MONITORING");
-                    logMessage = "Current Resource State : NOT_MONITORING\n";
-                    break;
-
-                case ALIVE:
-                    Log.i(LOG_TAG, "Current Resource State : ALIVE");
-                    logMessage = "Current Resource State : ALIVE\n";
-                    break;
-
-                case REQUESTED:
-                    Log.i(LOG_TAG, "Current Resource State : REQUESTED");
-                    logMessage = "Current Resource State : REQUESTED\n";
-                    break;
-
-                case LOST_SIGNAL:
-                    Log.i(LOG_TAG, "Current Resource State : LOST_SIGNAL");
-                    logMessage = "Current Resource State : LOST_SIGNAL\n";
-                    logMessage += "Start the server and press discover resource button"
-                            + "\n";
-                    break;
-
-                case DESTROYED:
-                    Log.i(LOG_TAG, "Current Resource State : DESTROYED");
-                    logMessage = "Current Resource State : DESTROYED\n";
-                    break;
-            }
-
-            ResourceClientActivity.setMessageLog(logMessage);
-            msg = Message.obtain();
-            msg.what = 1;
-            resourcClientActivityObj.getHandler().sendMessage(msg);
-        }
-    }
-
-    /**
-     * Listener for receiving updated resource attributes as a result of
-     * startCaching() API with callback
-     */
-    private class CacheUpdateListener implements ICacheUpdateListener {
-        @Override
-        public void onCacheUpdatedCallback(RCSResourceAttributes attributes) {
-            Log.i(LOG_TAG, "onCacheUpdatedCallback invoked");
-
-            printAttributes(attributes);
-        }
-    };
-
-    /**
-     * Listener for receiving the resource attributes as a result of
-     * getRemoteAttributes() API
-     */
-    private class RemoteAttributeGetListener implements
-            IGetRemoteAttributeListener {
-        @Override
-        public void onRemoteAttributesGetCallback(
-                RCSResourceAttributes attributes) {
-
-            Log.i(LOG_TAG, "onRemoteAttributesGetCallback invoked");
-            printAttributes(attributes);
-        }
-    };
-
-    /**
-     * Listener for receiving the resource attributes as a result of
-     * setRemoteAttributes() API
-     */
-    private class RemoteAttributeSetListener implements
-            ISetRemoteAttributeListener {
-        @Override
-        public void onRemoteAttributesSetCallback(
-                RCSResourceAttributes attributes) {
-
-            Log.i(LOG_TAG, "onRemoteAttributesSetCallback invoked");
-            printAttributes(attributes);
-        }
-    };
-
-    // Discover Resource
-    public void disocverResources() {
-        Log.d(LOG_TAG, "discover resources entry");
-        RCSAddress address = RCSAddress.multicast();
-        try {
-            discoveyManagerObj.discoverResource(address);
-        } catch (RCSException e) {
-            e.printStackTrace();
-        }
-        Log.d(LOG_TAG, "discover resources exit");
-    }
-
-    // Start Monitoring
-    public void startMonitoring() {
-        Log.d(LOG_TAG, "startMonitoring entry");
-
-        if (null == remoteResourceObj) {
-            Log.e(LOG_TAG, "Remote Resource object NULL");
-            return;
-        }
-
-        if (true == monitoringState) {
-            logMessage = "Monitoring already started\n";
-            Log.e(LOG_TAG, "Monitoring already started");
-            ResourceClientActivity.setMessageLog(logMessage);
-            msg = Message.obtain();
-            msg.what = 1;
-            resourcClientActivityObj.getHandler().sendMessage(msg);
-            return;
-        }
-
-        remoteResourceObj.setStateChangedListener(stateChangedListener);
-
-        if (null != stateChangedListener) {
-            try {
-                remoteResourceObj.startMonitoring();
-                monitoringState = true;
-            } catch (RCSException e) {
-                e.printStackTrace();
-                return;
-            }
-        }
-        Log.d(LOG_TAG, "startMonitoring exit");
-    }
-
-    // Stop Monitoring
-    public void stopMonitoring() {
-        Log.d(LOG_TAG, "stopMonitoring entry");
-
-        if (monitoringState) {
-            if (null == remoteResourceObj) {
-                Log.e(LOG_TAG, "Remote Resource object NULL");
-                return;
-            }
-
-            remoteResourceObj.stopMonitoring();
-            monitoringState = false;
-            logMessage = "Stopped Resource Monitoring\n";
-        } else {
-            Log.i(LOG_TAG, "Monitoring not started");
-            logMessage = "Monitoring not started\n";
-        }
-
-        Log.d(LOG_TAG, "stopMonitoring exit");
-
-        ResourceClientActivity.setMessageLog(logMessage);
-        msg = Message.obtain();
-        msg.what = 1;
-        resourcClientActivityObj.getHandler().sendMessage(msg);
-    }
-
-    // Get Attributes
-    public void getRemoteAttributes() {
-        Log.d(LOG_TAG, "getRemoteAttributes entry");
-
-        if (null == remoteResourceObj) {
-            Log.e(LOG_TAG, "Remote Resource object NULL");
-            return;
-        }
-
-        try {
-            remoteResourceObj
-                    .setGetRemoteAttributesListener(remoteAttributeGetListener);
-
-            if (null != remoteAttributeGetListener) {
-                remoteResourceObj.getRemoteAttributes();
-            }
-        } catch (Exception e) {
-            e.printStackTrace();
-            return;
-        }
-
-        Log.d(LOG_TAG, "getRemoteAttributes exit");
-    }
-
-    // Set Attributes
-    public void setRemoteAttributes(int value) {
-        Log.d(LOG_TAG, "setRemoteAttributes entry");
-
-        if (null == remoteResourceObj) {
-            Log.e(LOG_TAG, "Remote Resource object NULL");
-            return;
-        }
-
-        try {
-            remoteResourceObj
-                    .setSetRemoteAttributesListener(remoteAttributeSetListener);
-
-            if (null != remoteAttributeSetListener) {
-                RCSResourceAttributes attr = new RCSResourceAttributes();
-                attr.setValueInt("Temperature", value);
-                remoteResourceObj.setRemoteAttributes(attr);
-            }
-        } catch (Exception e) {
-            e.printStackTrace();
-            return;
-        }
-
-        Log.d(LOG_TAG, "setRemoteAttributes exit");
-    }
-
-    // Start Caching
-    public void startCaching(int cachingType) {
-        Log.d(LOG_TAG, "startCaching entry");
-
-        if (null == remoteResourceObj) {
-            Log.e(LOG_TAG, "Remote Resource object NULL");
-            return;
-        }
-
-        if (true == cachingState) {
-            Log.d(LOG_TAG, "Caching already started");
-            logMessage = "Caching already started\n";
-            ResourceClientActivity.setMessageLog(logMessage);
-            msg = Message.obtain();
-            msg.what = 1;
-            resourcClientActivityObj.getHandler().sendMessage(msg);
-            return;
-        }
-
-        if (0 == cachingType) {
-            Log.d(LOG_TAG, "startCaching without callback");
-            remoteResourceObj.setCacheUpdateListener(null);
-            logMessage = "Caching started without callback\n";
-            ResourceClientActivity.setMessageLog(logMessage);
-            msg = Message.obtain();
-            msg.what = 1;
-            resourcClientActivityObj.getHandler().sendMessage(msg);
-        } else {
-            Log.d(LOG_TAG, "startCaching with callback");
-            remoteResourceObj.setCacheUpdateListener(cacheUpdateListener);
-            logMessage = "Caching started\n";
-            ResourceClientActivity.setMessageLog(logMessage);
-            msg = Message.obtain();
-            msg.what = 1;
-            resourcClientActivityObj.getHandler().sendMessage(msg);
-        }
-
-        try {
-            remoteResourceObj.startCaching();
-            cachingState = true;
-        } catch (RCSException e) {
-            e.printStackTrace();
-            return;
-        }
-
-        Log.d(LOG_TAG, "startCaching exit");
-    }
-
-    // Get Cache State
-    public void getCacheState() {
-        Log.d(LOG_TAG, "getCacheState entry");
-
-        if (null == remoteResourceObj) {
-            Log.e(LOG_TAG, "Remote Resource object NULL");
-            return;
-        }
-
-        CacheState cState = remoteResourceObj.getCacheState();
-        Log.i(LOG_TAG, "Cache State : " + cState.name());
-
-        logMessage = "Cache State : " + cState.toString() + "\n";
-        ResourceClientActivity.setMessageLog(logMessage);
-        msg = Message.obtain();
-        msg.what = 1;
-        resourcClientActivityObj.getHandler().sendMessage(msg);
-
-        Log.d(LOG_TAG, "getCacheState exit");
-    }
-
-    // Get Cached Attributes
-    public void getCachedAttributes() {
-        Log.d(LOG_TAG, "getCachedAttributes entry");
-
-        if (null == remoteResourceObj) {
-            Log.e(LOG_TAG, "Remote Resource object NULL");
-            return;
-        }
-        if (true == cachingState) {
-            RCSResourceAttributes attributes = null;
-            try {
-                attributes = remoteResourceObj.getCachedAttributes();
-            } catch (RCSException e) {
-                e.printStackTrace();
-                return;
-            }
-            printAttributes(attributes);
-        } else {
-            logMessage = "Caching not started" + "\n";
-            ResourceClientActivity.setMessageLog(logMessage);
-            msg = Message.obtain();
-            msg.what = 1;
-            resourcClientActivityObj.getHandler().sendMessage(msg);
-        }
-        Log.d(LOG_TAG, "getCachedAttributes exit");
-    }
-
-    // Get Cached Attribute
-    public void getCachedAttribute() {
-        Log.d(LOG_TAG, "getCachedAttribute entry");
-
-        if (null == remoteResourceObj) {
-            Log.e(LOG_TAG, "Remote Resource object NULL");
-            return;
-        }
-
-        if (true == cachingState) {
-            String key = "Temperature";
-            String attribute;
-            try {
-                attribute = remoteResourceObj.getCachedAttribute(key);
-            } catch (RCSException e) {
-                e.printStackTrace();
-                return;
-            }
-            logMessage = "Key : " + key + "\n";
-            logMessage += "Value : " + attribute + "\n";
-            ResourceClientActivity.setMessageLog(logMessage);
-            msg = Message.obtain();
-            msg.what = 1;
-            resourcClientActivityObj.getHandler().sendMessage(msg);
-        } else {
-            logMessage = "Caching not started" + "\n";
-            ResourceClientActivity.setMessageLog(logMessage);
-            msg = Message.obtain();
-            msg.what = 1;
-            resourcClientActivityObj.getHandler().sendMessage(msg);
-        }
-        Log.d(LOG_TAG, "getCachedAttribute exit");
-    }
-
-    // Stop Caching
-    public void stopCaching() {
-        Log.d(LOG_TAG, "stopCaching entry");
-
-        if (null == remoteResourceObj) {
-            Log.e(LOG_TAG, "Remote Resource object NULL");
-            return;
-        }
-
-        if (false == cachingState) {
-            Log.e(LOG_TAG, "Caching not started");
-            logMessage = "Caching not started\n";
-        } else {
-            remoteResourceObj.stopCaching();
-            cachingState = false;
-            logMessage = "Stopped Caching\n";
-        }
-
-        ResourceClientActivity.setMessageLog(logMessage);
-        msg = Message.obtain();
-        msg.what = 1;
-        resourcClientActivityObj.getHandler().sendMessage(msg);
-        Log.d(LOG_TAG, "stopCaching exit");
-    }
-
-    // For Printing the Attributes on the UI
-    private void printAttributes(RCSResourceAttributes attributes) {
-        Log.d(LOG_TAG, "Printing Attributes");
-
-        try {
-            int temperature = attributes.getValue("Temperature", AttriubtesGetValueTypes.Integer);
-            Log.i(LOG_TAG, "Temperature : " + temperature);
-            logMessage = "Attributes : \n\nTemperature : " + temperature + "\n";
-        } catch (Exception e) {
-            Log.i(LOG_TAG, "Temperature attribute not found");
-            logMessage = "Attributes Temperature not found \n";
-            e.printStackTrace();
-            return;
-        }
-        ResourceClientActivity.setMessageLog(logMessage);
-        msg = Message.obtain();
-        msg.what = 1;
-        resourcClientActivityObj.getHandler().sendMessage(msg);
-    }
-}
\ No newline at end of file
diff --git a/service/resource-encapsulation/examples/android/REClient/src/com/re/sampleclient/ResourceClientActivity.java b/service/resource-encapsulation/examples/android/REClient/src/com/re/sampleclient/ResourceClientActivity.java
deleted file mode 100644 (file)
index e728e54..0000000
+++ /dev/null
@@ -1,223 +0,0 @@
-/******************************************************************
- *
- * Copyright 2015 Samsung Electronics All Rights Reserved.
- *
- *
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- ******************************************************************/
-package com.re.sampleclient;
-
-import java.util.ArrayList;
-
-import android.app.Activity;
-import android.app.Dialog;
-import android.content.Context;
-import android.os.Bundle;
-import android.os.Handler;
-import android.os.Message;
-import android.util.Log;
-import android.view.View;
-import android.view.View.OnClickListener;
-import android.widget.AdapterView;
-import android.widget.AdapterView.OnItemClickListener;
-import android.widget.ArrayAdapter;
-import android.widget.Button;
-import android.widget.EditText;
-import android.widget.ListView;
-import android.widget.Toast;
-
-/*
- * Activity for handling user's selection on UI for Resource Client APIs.
- * & for updating UI.
- */
-public class ResourceClientActivity extends Activity {
-
-    private ListView                      list;
-    private Button                        discoverResourceButton;
-    private ArrayAdapter<String>          groupApis;
-    private ArrayList<String>             clientApisList;
-    private static ResourceClientActivity clientApiActivityObj;
-    private static Handler                mHandler;
-    private ResourceClient                resourceClientObj;
-    public static Context                 mcontext;
-
-    private static EditText               logs;
-    private static String                 logMessage;
-
-    private final String                  LOG_TAG = "[ReSample] "
-                                                          + this.getClass()
-                                                                  .getSimpleName();
-
-    @Override
-    protected void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        setContentView(R.layout.resourceclientapis);
-
-        clientApiActivityObj = this;
-        mcontext = this;
-
-        resourceClientObj = new ResourceClient();
-        clientApisList = new ArrayList<String>();
-        list = (ListView) findViewById(R.id.groupaApiList);
-        discoverResourceButton = (Button) findViewById(R.id.button1);
-        logs = (EditText) findViewById(R.id.EditText);
-
-        // adding the item to list that will be displayed on the UI.
-        clientApisList.add("1. Start Monitoring");
-        clientApisList.add("2. Stop Monitoring");
-
-        clientApisList.add("3. Get Remote Attributes");
-        clientApisList.add("4. Set Remote Attributes");
-
-        clientApisList.add("5. Start Caching without callback");
-        clientApisList.add("6. Start Caching with callback");
-
-        clientApisList.add("7. Get Cache State");
-        clientApisList.add("8. Get All Cached Attributes");
-        clientApisList.add("9. Get Cached Attribute");
-
-        clientApisList.add("10. Stop Caching");
-
-        // handler for updating the UI i.e. MessageLog (TextBox) & ListView
-        mHandler = new Handler() {
-            @Override
-            public void handleMessage(Message msg) {
-                switch (msg.what) {
-                    case 0:
-                        groupApis = new ArrayAdapter<String>(
-                                clientApiActivityObj,
-                                android.R.layout.simple_list_item_1,
-                                clientApisList);
-                        list.setAdapter(groupApis);
-                        list.bringToFront();
-                        break;
-                    case 1:
-                        logs.setText("");
-                        logs.setText(logMessage);
-                        Log.i(LOG_TAG, logMessage);
-                }
-            }
-        };
-        setHandler(mHandler);
-
-        // Discover ResourceButton Listener
-        discoverResourceButton.setOnClickListener(new OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                resourceClientObj.disocverResources();
-            }
-        });
-
-        // Listener for item clicked by the user on the UI
-        list.setOnItemClickListener(new OnItemClickListener() {
-            @Override
-            public void onItemClick(AdapterView<?> parent, View view,
-                    int position, long id) {
-                if (position == 0) {
-                    resourceClientObj.startMonitoring();
-                } else if (position == 1) {
-                    resourceClientObj.stopMonitoring();
-                } else if (position == 2) {
-                    resourceClientObj.getRemoteAttributes();
-                } else if (position == 3) {
-                    userInputDialog();
-                } else if (position == 4) {
-                    resourceClientObj.startCaching(0);
-                } else if (position == 5) {
-                    resourceClientObj.startCaching(1);
-                } else if (position == 6) {
-                    resourceClientObj.getCacheState();
-                } else if (position == 7) {
-                    resourceClientObj.getCachedAttributes();
-                } else if (position == 8) {
-                    resourceClientObj.getCachedAttribute();
-                } else if (position == 9) {
-                    resourceClientObj.stopCaching();
-                }
-            }
-        });
-    }
-
-    // Dialog for taking user input for setting the attribute [Temperature]
-    // value
-    private void userInputDialog() {
-
-        if (null == resourceClientObj) {
-            displayToastMessage("Resource Object is NULL");
-        } else {
-            final Dialog dialog = new Dialog(mcontext);
-            dialog.setContentView(R.layout.userinputforattributevalue);
-            dialog.setTitle("Enter the Temperature Value");
-
-            dialog.setCancelable(false);
-            dialog.show();
-            Button ok = (Button) dialog.findViewById(R.id.ok);
-            Button cancel = (Button) dialog.findViewById(R.id.cancel);
-
-            ok.setOnClickListener(new OnClickListener() {
-                @Override
-                public void onClick(View v) {
-
-                    EditText temperatureValue = (EditText) dialog
-                            .findViewById(R.id.attributeValue);
-                    String value = temperatureValue.getText().toString();
-
-                    try {
-                        int intValue = Integer.parseInt(value);
-                        resourceClientObj.setRemoteAttributes(intValue);
-                        dialog.dismiss();
-
-                    } catch (NumberFormatException e) {
-                        String toastmessage = "Please enter the Integer Value";
-                        displayToastMessage(toastmessage);
-                    }
-                }
-            });
-            cancel.setOnClickListener(new OnClickListener() {
-                @Override
-                public void onClick(View v) {
-                    dialog.dismiss();
-                }
-            });
-        }
-    }
-
-    public static void setMessageLog(String message) {
-        logMessage = message;
-    }
-
-    @Override
-    public void onBackPressed() {
-        super.onBackPressed();
-    }
-
-    public static ResourceClientActivity getResourceClientActivityObj() {
-        return clientApiActivityObj;
-    }
-
-    public Handler getHandler() {
-        return mHandler;
-    }
-
-    public void setHandler(Handler mHandler) {
-        ResourceClientActivity.mHandler = mHandler;
-    }
-
-    public void displayToastMessage(String message) {
-        Toast toast = Toast.makeText(this, message, Toast.LENGTH_SHORT);
-        toast.show();
-        Log.i(LOG_TAG, message);
-    }
-}
diff --git a/service/resource-encapsulation/examples/android/RESampleClientApp/.gitignore b/service/resource-encapsulation/examples/android/RESampleClientApp/.gitignore
new file mode 100644 (file)
index 0000000..8b41237
--- /dev/null
@@ -0,0 +1,7 @@
+.gradle
+/local.properties
+/.idea
+.DS_Store
+/build
+/captures
+/gradle
diff --git a/service/resource-encapsulation/examples/android/RESampleClientApp/README b/service/resource-encapsulation/examples/android/RESampleClientApp/README
new file mode 100644 (file)
index 0000000..5364aec
--- /dev/null
@@ -0,0 +1,23 @@
+To build the app 
+
+1. build Iotivity with TARGET_OS=android
+
+2. Copy aar files into app/libs folder
+   - {Iotivity_root}/android/android_api/base/build/outputs/aar/iotivity-{TARGET_ARCH}-base-{MODE}.aar
+   - {Iotivity_root}/service/resource-encapsulation/android/service/build/outputs/aar/iotivity-{TARGET_ARCH}-service-{MODE}.aar
+
+3. Configure dependencies for libs in app/build.gradle
+   - default TARGET_ARCH is armeabi
+   - default MODE is release
+
+   for example, if you build Iotivity as follows,
+   
+   $scons TARGET_OS=android TARGET_ARCH=x86 RELEASE=0
+
+   then, dependencies should be modified like below
+
+   dependencies {
+      compile(name:'iotivity-x86-service-debug', ext:'aar')
+      compile(name:'iotivity-x86-base-debug', ext:'aar')
+   }
+   
diff --git a/service/resource-encapsulation/examples/android/RESampleClientApp/RESampleClientApp.iml b/service/resource-encapsulation/examples/android/RESampleClientApp/RESampleClientApp.iml
new file mode 100644 (file)
index 0000000..6339cdd
--- /dev/null
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module external.linked.project.id="RESampleClientApp" external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$" external.system.id="GRADLE" external.system.module.group="" external.system.module.version="unspecified" type="JAVA_MODULE" version="4">
+  <component name="FacetManager">
+    <facet type="java-gradle" name="Java-Gradle">
+      <configuration>
+        <option name="BUILD_FOLDER_PATH" value="$MODULE_DIR$/build" />
+        <option name="BUILDABLE" value="false" />
+      </configuration>
+    </facet>
+  </component>
+  <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_7" inherit-compiler-output="true">
+    <exclude-output />
+    <content url="file://$MODULE_DIR$">
+      <excludeFolder url="file://$MODULE_DIR$/.gradle" />
+    </content>
+    <orderEntry type="inheritedJdk" />
+    <orderEntry type="sourceFolder" forTests="false" />
+  </component>
+</module>
\ No newline at end of file
diff --git a/service/resource-encapsulation/examples/android/RESampleClientApp/app/.gitignore b/service/resource-encapsulation/examples/android/RESampleClientApp/app/.gitignore
new file mode 100644 (file)
index 0000000..6a384b7
--- /dev/null
@@ -0,0 +1,2 @@
+/build
+/libs/*
diff --git a/service/resource-encapsulation/examples/android/RESampleClientApp/app/app.iml b/service/resource-encapsulation/examples/android/RESampleClientApp/app/app.iml
new file mode 100644 (file)
index 0000000..05a12c1
--- /dev/null
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module external.linked.project.id=":app" external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$/.." external.system.id="GRADLE" external.system.module.group="RESampleClientApp" external.system.module.version="unspecified" type="JAVA_MODULE" version="4">
+  <component name="FacetManager">
+    <facet type="android-gradle" name="Android-Gradle">
+      <configuration>
+        <option name="GRADLE_PROJECT_PATH" value=":app" />
+      </configuration>
+    </facet>
+    <facet type="android" name="Android">
+      <configuration>
+        <option name="SELECTED_BUILD_VARIANT" value="debug" />
+        <option name="SELECTED_TEST_ARTIFACT" value="_android_test_" />
+        <option name="ASSEMBLE_TASK_NAME" value="assembleDebug" />
+        <option name="COMPILE_JAVA_TASK_NAME" value="compileDebugSources" />
+        <option name="ASSEMBLE_TEST_TASK_NAME" value="assembleDebugAndroidTest" />
+        <option name="COMPILE_JAVA_TEST_TASK_NAME" value="compileDebugAndroidTestSources" />
+        <afterSyncTasks>
+          <task>generateDebugAndroidTestSources</task>
+          <task>generateDebugSources</task>
+        </afterSyncTasks>
+        <option name="ALLOW_USER_CONFIGURATION" value="false" />
+        <option name="MANIFEST_FILE_RELATIVE_PATH" value="/src/main/AndroidManifest.xml" />
+        <option name="RES_FOLDER_RELATIVE_PATH" value="/src/main/res" />
+        <option name="RES_FOLDERS_RELATIVE_PATH" value="file://$MODULE_DIR$/src/main/res" />
+        <option name="ASSETS_FOLDER_RELATIVE_PATH" value="/src/main/assets" />
+      </configuration>
+    </facet>
+  </component>
+  <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_7" inherit-compiler-output="false">
+    <output url="file://$MODULE_DIR$/build/intermediates/classes/debug" />
+    <output-test url="file://$MODULE_DIR$/build/intermediates/classes/androidTest/debug" />
+    <exclude-output />
+    <content url="file://$MODULE_DIR$">
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/r/debug" isTestSource="false" generated="true" />
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/aidl/debug" isTestSource="false" generated="true" />
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/debug" isTestSource="false" generated="true" />
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/rs/debug" isTestSource="false" generated="true" />
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/debug" type="java-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/res/resValues/debug" type="java-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/r/androidTest/debug" isTestSource="true" generated="true" />
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/aidl/androidTest/debug" isTestSource="true" generated="true" />
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/androidTest/debug" isTestSource="true" generated="true" />
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/rs/androidTest/debug" isTestSource="true" generated="true" />
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/androidTest/debug" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/res/resValues/androidTest/debug" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/debug/res" type="java-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/debug/resources" type="java-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/debug/assets" type="java-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/debug/aidl" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/src/debug/java" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/src/debug/jni" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/src/debug/rs" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/src/main/res" type="java-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/main/assets" type="java-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/main/aidl" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/src/main/jni" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/src/main/rs" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/res" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/resources" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/assets" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/aidl" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/java" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/jni" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/rs" isTestSource="true" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/assets" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/bundles" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/classes" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/coverage-instrumented-classes" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/dependency-cache" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/dex" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/dex-cache" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/iotivity-armeabi-base-release/jars" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/iotivity-armeabi-service-release/jars" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/jacoco" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/javaResources" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/libs" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/lint" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/manifests" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/ndk" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/pre-dexed" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/proguard" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/res" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/rs" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/symbols" />
+      <excludeFolder url="file://$MODULE_DIR$/build/outputs" />
+      <excludeFolder url="file://$MODULE_DIR$/build/tmp" />
+    </content>
+    <orderEntry type="jdk" jdkName="Android API 21 Platform" jdkType="Android SDK" />
+    <orderEntry type="sourceFolder" forTests="false" />
+    <orderEntry type="library" exported="" name="iotivity-armeabi-base-release-" level="project" />
+    <orderEntry type="library" exported="" name="iotivity-armeabi-service-release-" level="project" />
+  </component>
+</module>
\ No newline at end of file
diff --git a/service/resource-encapsulation/examples/android/RESampleClientApp/app/build.gradle b/service/resource-encapsulation/examples/android/RESampleClientApp/app/build.gradle
new file mode 100644 (file)
index 0000000..7b4983f
--- /dev/null
@@ -0,0 +1,27 @@
+apply plugin: 'com.android.application'
+
+android {
+    compileSdkVersion 21
+    buildToolsVersion "21.1.2"
+
+    defaultConfig {
+        applicationId "org.iotivity.service.sample.client"
+        minSdkVersion 21
+        targetSdkVersion 21
+        versionCode 1
+        versionName "1.0"
+    }
+    buildTypes {
+        release {
+            minifyEnabled false
+            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
+        }
+    }
+}
+
+dependencies {
+    compile fileTree(dir: 'libs', include: ['*.jar'])
+
+    compile(name:'iotivity-armeabi-service-release', ext:'aar')
+    compile(name:'iotivity-armeabi-base-release', ext:'aar')
+}
diff --git a/service/resource-encapsulation/examples/android/RESampleClientApp/app/src/main/AndroidManifest.xml b/service/resource-encapsulation/examples/android/RESampleClientApp/app/src/main/AndroidManifest.xml
new file mode 100644 (file)
index 0000000..a81c328
--- /dev/null
@@ -0,0 +1,21 @@
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+    package="org.iotivity.service.sample.client">
+
+    <uses-permission android:name="android.permission.INTERNET" />
+    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
+
+    <application android:allowBackup="true" android:label="@string/app_name"
+        android:icon="@mipmap/ic_launcher" android:theme="@style/AppTheme">
+        <activity
+            android:name=".MainActivity"
+            android:label="@string/app_name" >
+            <intent-filter>
+                <action android:name="android.intent.action.MAIN" />
+
+                <category android:name="android.intent.category.LAUNCHER" />
+            </intent-filter>
+        </activity>
+        <activity android:name=".ResourceClientActivity" />
+    </application>
+
+</manifest>
diff --git a/service/resource-encapsulation/examples/android/RESampleClientApp/app/src/main/java/org/iotivity/service/sample/client/MainActivity.java b/service/resource-encapsulation/examples/android/RESampleClientApp/app/src/main/java/org/iotivity/service/sample/client/MainActivity.java
new file mode 100644 (file)
index 0000000..21b95af
--- /dev/null
@@ -0,0 +1,93 @@
+/******************************************************************
+ * Copyright 2015 Samsung Electronics All Rights Reserved.
+ * <p>
+ * <p>
+ * <p>
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * <p>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p>
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ ******************************************************************/
+package org.iotivity.service.sample.client;
+
+import android.app.Activity;
+import android.app.AlertDialog;
+import android.content.DialogInterface;
+import android.content.DialogInterface.OnClickListener;
+import android.content.Intent;
+import android.net.ConnectivityManager;
+import android.net.NetworkInfo;
+import android.os.Bundle;
+import android.util.Log;
+import android.view.View;
+import android.widget.AdapterView;
+import android.widget.AdapterView.OnItemClickListener;
+import android.widget.ArrayAdapter;
+import android.widget.ListView;
+
+import org.iotivity.base.ModeType;
+import org.iotivity.base.OcPlatform;
+import org.iotivity.base.PlatformConfig;
+import org.iotivity.base.QualityOfService;
+import org.iotivity.base.ServiceType;
+
+import java.util.ArrayList;
+
+
+/**
+ * Starting Activity of the application responsible for configuring the
+ * OcPlatform and redirecting to ResourceClient activity.
+ */
+public class MainActivity extends Activity {
+
+    private static final String LOG_TAG = MainActivity.class.getSimpleName();
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        setContentView(R.layout.activity_main);
+
+        if (!isWifiConnected()) {
+            showWifiUnavailableDialog();
+            return;
+        }
+
+        configurePlatform();
+    }
+
+    public void onResourceClientClick(View v) {
+        startActivity(new Intent(this, ResourceClientActivity.class));
+    }
+
+    private boolean isWifiConnected() {
+        ConnectivityManager connManager = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE);
+        return connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI).isConnected();
+    }
+
+    private void showWifiUnavailableDialog() {
+        new AlertDialog.Builder(this).setTitle("Error")
+                .setMessage("WiFi is not enabled/connected! Please connect the WiFi and start application again...")
+                .setCancelable(false)
+                .setPositiveButton("OK", new DialogInterface.OnClickListener() {
+                    @Override
+                    public void onClick(DialogInterface dialog, int which) {
+                        finish();
+                    }
+                }).create().show();
+    }
+
+    private void configurePlatform() {
+        OcPlatform.Configure(new PlatformConfig(getApplicationContext(),
+                ServiceType.IN_PROC, ModeType.CLIENT_SERVER, "0.0.0.0", 0,
+                QualityOfService.LOW));
+
+        Log.i(LOG_TAG, "Configuration done Successfully");
+    }
+}
diff --git a/service/resource-encapsulation/examples/android/RESampleClientApp/app/src/main/java/org/iotivity/service/sample/client/ResourceClientActivity.java b/service/resource-encapsulation/examples/android/RESampleClientApp/app/src/main/java/org/iotivity/service/sample/client/ResourceClientActivity.java
new file mode 100644 (file)
index 0000000..f25cfb2
--- /dev/null
@@ -0,0 +1,436 @@
+/******************************************************************
+ * Copyright 2015 Samsung Electronics All Rights Reserved.
+ * <p>
+ * <p>
+ * <p>
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * <p>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p>
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ ******************************************************************/
+package org.iotivity.service.sample.client;
+
+import static org.iotivity.service.client.RcsRemoteResourceObject.OnCacheUpdatedListener;
+import static org.iotivity.service.client.RcsRemoteResourceObject.OnStateChangedListener;
+import static org.iotivity.service.client.RcsRemoteResourceObject.ResourceState;
+
+import java.lang.ref.WeakReference;
+
+import org.iotivity.service.RcsException;
+import org.iotivity.service.RcsResourceAttributes;
+import org.iotivity.service.RcsValue;
+import org.iotivity.service.client.RcsAddress;
+import org.iotivity.service.client.RcsDiscoveryManager;
+import org.iotivity.service.client.RcsDiscoveryManager.OnResourceDiscoveredListener;
+import org.iotivity.service.client.RcsRemoteResourceObject;
+import org.iotivity.service.client.RcsRemoteResourceObject.OnRemoteAttributesReceivedListener;
+
+import android.app.Activity;
+import android.app.AlertDialog;
+import android.content.DialogInterface;
+import android.os.Bundle;
+import android.os.Handler;
+import android.os.Message;
+import android.util.Log;
+import android.view.View;
+import android.widget.AdapterView;
+import android.widget.AdapterView.OnItemClickListener;
+import android.widget.ArrayAdapter;
+import android.widget.Button;
+import android.widget.EditText;
+import android.widget.ListView;
+import android.widget.TextView;
+import android.widget.Toast;
+
+/*
+ * Activity for handling user's selection on UI for Resource Client APIs.
+ * & for updating UI.
+ */
+public class ResourceClientActivity extends Activity
+        implements OnItemClickListener {
+
+    private static final String LOG_TAG = ResourceClientActivity.class
+            .getSimpleName();
+
+    private static final int MSG_ID_RESOURCE_DISCOVERED = 0;
+    private static final int MSG_ID_ATTRIBUTE_RECEIVED  = 1;
+    private static final int MSG_ID_PRINT_LOG           = 2;
+
+    private static final String ATTR_KEY_TEMPERATURE = "Temperature";
+
+    private TextView mLogView;
+    private ListView mListView;
+    private Button   mDiscoveryBtn;
+
+    private Handler            mHandler;
+    private ArrayAdapter<Item> mItemAdapter;
+
+    private RcsDiscoveryManager.DiscoveryTask mDiscoveryTask;
+    private RcsRemoteResourceObject           mResourceObj;
+
+    private OnResourceDiscoveredListener mOnResourceDiscoveredListener = new OnResourceDiscoveredListener() {
+
+        @Override
+        public void onResourceDiscovered(
+                RcsRemoteResourceObject foundResource) {
+            Log.i(LOG_TAG, "onResourceDiscovered");
+
+            mHandler.obtainMessage(MSG_ID_RESOURCE_DISCOVERED, foundResource)
+                    .sendToTarget();
+        }
+    };
+
+    private OnStateChangedListener mOnStateChangedListener = new OnStateChangedListener() {
+
+        @Override
+        public void onStateChanged(ResourceState resourceState) {
+            Log.i(LOG_TAG, "onStateChanged");
+
+            mHandler.obtainMessage(MSG_ID_PRINT_LOG,
+                    "Current Resource State : " + resourceState);
+        }
+    };
+
+    private OnRemoteAttributesReceivedListener mOnRemoteAttributesReceivedListener = new OnRemoteAttributesReceivedListener() {
+        @Override
+        public void onAttributesReceived(RcsResourceAttributes attrs,
+                int eCode) {
+            Log.i(LOG_TAG, "onAttributesReceived");
+
+            mHandler.obtainMessage(MSG_ID_ATTRIBUTE_RECEIVED, attrs)
+                    .sendToTarget();
+        }
+    };
+
+    private OnCacheUpdatedListener mOnCacheUpdatedListener = new OnCacheUpdatedListener() {
+        @Override
+        public void onCacheUpdated(RcsResourceAttributes attrs) {
+            Log.i(LOG_TAG, "onCacheUpdated");
+
+            mHandler.obtainMessage(MSG_ID_ATTRIBUTE_RECEIVED, attrs)
+                    .sendToTarget();
+        }
+    };
+
+    private Item mStartMonitoring = new Item("1. Start Monitoring") {
+        @Override
+        public void execute() throws RcsException {
+            if (mResourceObj.isMonitoring()) {
+                printLog("Monitoring already started");
+                return;
+            }
+
+            mResourceObj.startMonitoring(mOnStateChangedListener);
+        }
+    };
+
+    private Item mStopMonitoring = new Item("2. Stop Monitoring") {
+        @Override
+        public void execute() throws RcsException {
+            if (mResourceObj.isMonitoring()) {
+                mResourceObj.stopMonitoring();
+                printLog("Stopped Resource Monitoring");
+            } else {
+                printLog("Monitoring not started");
+            }
+        }
+    };
+
+    private Item mGetRemoteAttributes = new Item("3. Get Remote Attributes") {
+        @Override
+        public void execute() throws RcsException {
+            mResourceObj
+                    .getRemoteAttributes(mOnRemoteAttributesReceivedListener);
+        }
+    };
+
+    private Item mSetRemoteAttributes = new Item("4. Set Remote Attributes") {
+
+        @Override
+        public void execute() throws RcsException {
+            showInputValueDialog();
+        }
+    };
+
+    private Item mStartCaching = new Item("5. Start Caching") {
+        @Override
+        public void execute() throws RcsException {
+            if (mResourceObj.isCaching()) {
+                printLog("Caching already started");
+                return;
+            }
+
+            mResourceObj.startCaching(mOnCacheUpdatedListener);
+        }
+    };
+
+    private Item mGetCacheState = new Item("6. Get Cache State") {
+        @Override
+        public void execute() throws RcsException {
+            printLog("Cache State : " + mResourceObj.getCacheState());
+        }
+    };
+
+    private Item mGetCachedAttributes = new Item(
+            "7. Get All Cached Attributes") {
+        @Override
+        public void execute() throws RcsException {
+            printAttributes(mResourceObj.getCachedAttributes());
+        }
+    };
+
+    private Item mGetCachedAttribute = new Item("8. Get Cached Attribute") {
+        @Override
+        public void execute() throws RcsException {
+            printLog(ATTR_KEY_TEMPERATURE + " : " + mResourceObj
+                    .getCachedAttribute(ATTR_KEY_TEMPERATURE).asInt());
+        }
+    };
+
+    private Item mStopCaching = new Item("9. Stop Caching") {
+        @Override
+        public void execute() throws RcsException {
+            mResourceObj.stopCaching();
+        }
+    };
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        setContentView(R.layout.activity_resource_client);
+
+        mListView = (ListView) findViewById(R.id.list_menu);
+        mLogView = (TextView) findViewById(R.id.text_log);
+        mDiscoveryBtn = (Button) findViewById(R.id.btn_discovery);
+
+        mHandler = new ClientHandler(this);
+
+        initMenuList();
+    }
+
+    @Override
+    protected void onDestroy() {
+        super.onDestroy();
+
+        if (mDiscoveryTask != null)
+            mDiscoveryTask.cancel();
+        if (mResourceObj != null)
+            mResourceObj.destroy();
+    }
+
+    private void initMenuList() {
+        Item[] items = new Item[] { mStartMonitoring, mStopMonitoring,
+                mGetRemoteAttributes, mSetRemoteAttributes, mStartCaching,
+                mGetCacheState, mGetCachedAttributes, mGetCachedAttribute,
+                mStopCaching };
+
+        mItemAdapter = new ArrayAdapter<>(this,
+                android.R.layout.simple_list_item_1, items);
+
+        mListView.setAdapter(mItemAdapter);
+
+        mListView.setOnItemClickListener(this);
+    }
+
+    @Override
+    public void onItemClick(AdapterView<?> parent, View view, int position,
+            long id) {
+        if (mResourceObj == null) {
+            showError("no discovered RemoteResourceObject");
+            return;
+        }
+
+        try {
+            mItemAdapter.getItem(position).execute();
+        } catch (RcsException e) {
+            showError(e);
+        }
+    }
+
+    public void onDiscoverResourceClick(View v) {
+        toggleDiscovery();
+    }
+
+    private void toggleDiscovery() {
+        if (mDiscoveryTask == null) {
+            try {
+                mDiscoveryTask = RcsDiscoveryManager.getInstance()
+                        .discoverResource(RcsAddress.multicast(),
+                                mOnResourceDiscoveredListener);
+                mDiscoveryBtn.setText(R.string.cancel_discovery);
+
+                mListView.setVisibility(View.INVISIBLE);
+
+                if (mResourceObj != null) {
+                    mResourceObj.destroy();
+                    mResourceObj = null;
+                }
+            } catch (RcsException e) {
+                showError(e);
+            }
+        } else {
+            mDiscoveryTask.cancel();
+            mDiscoveryTask = null;
+
+            mDiscoveryBtn.setText(R.string.discover_resource);
+        }
+    }
+
+    private void printAttributes(RcsResourceAttributes attributes) {
+        try {
+            StringBuilder sb = new StringBuilder();
+            for (String key : attributes.keySet()) {
+                sb.append(key + " : " + attributes.get(key));
+            }
+            printLog(sb.toString());
+        } catch (Exception e) {
+            printLog(e);
+        }
+    }
+
+    private void setRemoteResourceObject(
+            RcsRemoteResourceObject foundResource) {
+        if (mResourceObj != null) {
+            Log.w(LOG_TAG, "Another remote resource found...");
+            return;
+        }
+
+        mResourceObj = foundResource;
+
+        mListView.setVisibility(View.VISIBLE);
+        toggleDiscovery();
+
+        try {
+            printLog(resourceInfo(mResourceObj));
+        } catch (RcsException e) {
+            showError(e);
+        }
+    }
+
+    private void showInputValueDialog() {
+        final AlertDialog dialog = new AlertDialog.Builder(this)
+                .setTitle("Enter the Temperature Value")
+                .setView(R.layout.dialog_content_edit_text)
+                .setNegativeButton("Cancel", null).create();
+
+        dialog.setButton(DialogInterface.BUTTON_POSITIVE, "OK",
+                new DialogInterface.OnClickListener() {
+                    @Override
+                    public void onClick(DialogInterface dialogInterface,
+                            int which) {
+
+                        EditText temperatureValue = (EditText) dialog
+                                .findViewById(R.id.attributeValue);
+
+                        try {
+                            RcsValue value = new RcsValue(Integer.parseInt(
+                                    temperatureValue.getText().toString()));
+
+                            RcsResourceAttributes attrs = new RcsResourceAttributes();
+                            attrs.put(ATTR_KEY_TEMPERATURE, value);
+
+                            mResourceObj.setRemoteAttributes(attrs,
+                                    mOnRemoteAttributesReceivedListener);
+                        } catch (NumberFormatException e) {
+                            showError("Please enter the Integer Value");
+                        } catch (RcsException e) {
+                            showError(e);
+                        }
+                    }
+                });
+        dialog.show();
+    }
+
+    private void showError(String msg) {
+        Toast.makeText(this, msg, Toast.LENGTH_SHORT).show();
+        Log.e(LOG_TAG, msg);
+    }
+
+    private void showError(Exception e) {
+        Toast.makeText(this, e.getMessage(), Toast.LENGTH_SHORT).show();
+        Log.e(LOG_TAG, e.getMessage(), e);
+    }
+
+    private void printLog(String message) {
+        Log.i(LOG_TAG, message);
+        mLogView.setText(message);
+    }
+
+    private void printLog(Exception e) {
+        Log.i(LOG_TAG, e.getMessage(), e);
+        mLogView.setText(e.getMessage());
+    }
+
+    private String resourceInfo(RcsRemoteResourceObject resourceObject)
+            throws RcsException {
+        StringBuilder sb = new StringBuilder();
+
+        sb.append("URI : " + resourceObject.getUri() + "\n");
+        sb.append("Host : " + resourceObject.getAddress() + "\n");
+        for (String type : resourceObject.getTypes()) {
+            sb.append("resourceType : " + type + "\n");
+        }
+
+        for (String itf : resourceObject.getInterfaces()) {
+            sb.append("resourceInterfaces : " + itf + "\n");
+        }
+
+        sb.append("isObservable : " + resourceObject.isObservable() + "\n");
+
+        return sb.toString();
+    }
+
+    private static abstract class Item {
+        private final String mTitle;
+
+        protected Item(String title) {
+            mTitle = title;
+        }
+
+        @Override
+        public String toString() {
+            return mTitle;
+        }
+
+        public abstract void execute() throws RcsException;
+    }
+
+    private static class ClientHandler extends Handler {
+        private WeakReference<ResourceClientActivity> mActivityRef;
+
+        private ClientHandler(ResourceClientActivity activity) {
+            mActivityRef = new WeakReference<>(activity);
+        }
+
+        @Override
+        public void handleMessage(Message msg) {
+            super.handleMessage(msg);
+
+            ResourceClientActivity activity = mActivityRef.get();
+            if (activity == null)
+                return;
+
+            switch (msg.what) {
+                case MSG_ID_RESOURCE_DISCOVERED:
+                    activity.setRemoteResourceObject(
+                            (RcsRemoteResourceObject) msg.obj);
+                    break;
+
+                case MSG_ID_ATTRIBUTE_RECEIVED:
+                    activity.printAttributes((RcsResourceAttributes) msg.obj);
+                    break;
+
+                case MSG_ID_PRINT_LOG:
+                    activity.printLog(msg.obj.toString());
+                    break;
+            }
+        }
+    }
+}
diff --git a/service/resource-encapsulation/examples/android/RESampleClientApp/app/src/main/res/layout/activity_main.xml b/service/resource-encapsulation/examples/android/RESampleClientApp/app/src/main/res/layout/activity_main.xml
new file mode 100644 (file)
index 0000000..2c5dcc3
--- /dev/null
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:orientation="vertical">
+
+    <Button
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:onClick="onResourceClientClick"
+        android:text="@string/resource_client" />
+
+</LinearLayout>
diff --git a/service/resource-encapsulation/examples/android/RESampleClientApp/app/src/main/res/layout/activity_resource_client.xml b/service/resource-encapsulation/examples/android/RESampleClientApp/app/src/main/res/layout/activity_resource_client.xml
new file mode 100644 (file)
index 0000000..ac0a3a0
--- /dev/null
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:orientation="vertical">
+
+    <Button
+        android:id="@+id/btn_discovery"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_alignParentTop="true"
+        android:onClick="onDiscoverResourceClick"
+        android:text="@string/discover_resource" />
+
+    <ListView
+        android:id="@+id/list_menu"
+        android:layout_width="match_parent"
+        android:layout_height="0dp"
+        android:layout_weight="1"
+        android:visibility="invisible" />
+
+    <TextView
+        android:id="@+id/text_log"
+        android:layout_width="fill_parent"
+        android:layout_height="150dp"
+        android:layout_marginLeft="10dp"
+        android:layout_marginTop="10dp"
+        android:ems="10" />
+</LinearLayout>
diff --git a/service/resource-encapsulation/examples/android/RESampleClientApp/app/src/main/res/layout/dialog_content_edit_text.xml b/service/resource-encapsulation/examples/android/RESampleClientApp/app/src/main/res/layout/dialog_content_edit_text.xml
new file mode 100644 (file)
index 0000000..82bb564
--- /dev/null
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:orientation="vertical">
+
+    <EditText
+        android:id="@+id/attributeValue"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_alignParentTop="true"
+        android:layout_centerHorizontal="true"
+        android:layout_marginTop="28dp"
+        android:ems="10"
+        android:hint="Enter the Temperature"
+        android:inputType="numberDecimal" />
+
+</RelativeLayout>
diff --git a/service/resource-encapsulation/examples/android/RESampleClientApp/app/src/main/res/mipmap-hdpi/ic_launcher.png b/service/resource-encapsulation/examples/android/RESampleClientApp/app/src/main/res/mipmap-hdpi/ic_launcher.png
new file mode 100644 (file)
index 0000000..cde69bc
Binary files /dev/null and b/service/resource-encapsulation/examples/android/RESampleClientApp/app/src/main/res/mipmap-hdpi/ic_launcher.png differ
diff --git a/service/resource-encapsulation/examples/android/RESampleClientApp/app/src/main/res/mipmap-mdpi/ic_launcher.png b/service/resource-encapsulation/examples/android/RESampleClientApp/app/src/main/res/mipmap-mdpi/ic_launcher.png
new file mode 100644 (file)
index 0000000..c133a0c
Binary files /dev/null and b/service/resource-encapsulation/examples/android/RESampleClientApp/app/src/main/res/mipmap-mdpi/ic_launcher.png differ
diff --git a/service/resource-encapsulation/examples/android/RESampleClientApp/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/service/resource-encapsulation/examples/android/RESampleClientApp/app/src/main/res/mipmap-xhdpi/ic_launcher.png
new file mode 100644 (file)
index 0000000..bfa42f0
Binary files /dev/null and b/service/resource-encapsulation/examples/android/RESampleClientApp/app/src/main/res/mipmap-xhdpi/ic_launcher.png differ
diff --git a/service/resource-encapsulation/examples/android/RESampleClientApp/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/service/resource-encapsulation/examples/android/RESampleClientApp/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
new file mode 100644 (file)
index 0000000..324e72c
Binary files /dev/null and b/service/resource-encapsulation/examples/android/RESampleClientApp/app/src/main/res/mipmap-xxhdpi/ic_launcher.png differ
diff --git a/service/resource-encapsulation/examples/android/RESampleClientApp/app/src/main/res/values-v21/styles.xml b/service/resource-encapsulation/examples/android/RESampleClientApp/app/src/main/res/values-v21/styles.xml
new file mode 100644 (file)
index 0000000..dba3c41
--- /dev/null
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+    <style name="AppTheme" parent="android:Theme.Material.Light">
+    </style>
+</resources>
diff --git a/service/resource-encapsulation/examples/android/RESampleClientApp/app/src/main/res/values/strings.xml b/service/resource-encapsulation/examples/android/RESampleClientApp/app/src/main/res/values/strings.xml
new file mode 100644 (file)
index 0000000..3e481f6
--- /dev/null
@@ -0,0 +1,10 @@
+<resources>
+    <string name="app_name">RESampleClientApp</string>
+
+    <string name="resource_client">Resource Client</string>
+    <string name="container_resource">Discover Container Resource</string>
+
+    <string name="discover_resource">Discover Resource</string>
+    <string name="cancel_discovery">Cancel Discovery</string>
+
+</resources>
diff --git a/service/resource-encapsulation/examples/android/RESampleClientApp/app/src/main/res/values/styles.xml b/service/resource-encapsulation/examples/android/RESampleClientApp/app/src/main/res/values/styles.xml
new file mode 100644 (file)
index 0000000..ff6c9d2
--- /dev/null
@@ -0,0 +1,8 @@
+<resources>
+
+    <!-- Base application theme. -->
+    <style name="AppTheme" parent="android:Theme.Holo.Light.DarkActionBar">
+        <!-- Customize your theme here. -->
+    </style>
+
+</resources>
diff --git a/service/resource-encapsulation/examples/android/RESampleClientApp/build.gradle b/service/resource-encapsulation/examples/android/RESampleClientApp/build.gradle
new file mode 100644 (file)
index 0000000..6f0accc
--- /dev/null
@@ -0,0 +1,23 @@
+// Top-level build file where you can add configuration options common to all sub-projects/modules.
+
+buildscript {
+    repositories {
+        jcenter()
+    }
+    dependencies {
+        classpath 'com.android.tools.build:gradle:1.3.0'
+
+        // NOTE: Do not place your application dependencies here; they belong
+        // in the individual module build.gradle files
+    }
+}
+
+allprojects {
+    repositories {
+        jcenter()
+
+        flatDir {
+            dirs 'libs'
+        }
+    }
+}
diff --git a/service/resource-encapsulation/examples/android/RESampleClientApp/settings.gradle b/service/resource-encapsulation/examples/android/RESampleClientApp/settings.gradle
new file mode 100644 (file)
index 0000000..e7b4def
--- /dev/null
@@ -0,0 +1 @@
+include ':app'
diff --git a/service/resource-encapsulation/examples/android/RESampleServerApp/.gitignore b/service/resource-encapsulation/examples/android/RESampleServerApp/.gitignore
new file mode 100644 (file)
index 0000000..8b41237
--- /dev/null
@@ -0,0 +1,7 @@
+.gradle
+/local.properties
+/.idea
+.DS_Store
+/build
+/captures
+/gradle
diff --git a/service/resource-encapsulation/examples/android/RESampleServerApp/README b/service/resource-encapsulation/examples/android/RESampleServerApp/README
new file mode 100644 (file)
index 0000000..5364aec
--- /dev/null
@@ -0,0 +1,23 @@
+To build the app 
+
+1. build Iotivity with TARGET_OS=android
+
+2. Copy aar files into app/libs folder
+   - {Iotivity_root}/android/android_api/base/build/outputs/aar/iotivity-{TARGET_ARCH}-base-{MODE}.aar
+   - {Iotivity_root}/service/resource-encapsulation/android/service/build/outputs/aar/iotivity-{TARGET_ARCH}-service-{MODE}.aar
+
+3. Configure dependencies for libs in app/build.gradle
+   - default TARGET_ARCH is armeabi
+   - default MODE is release
+
+   for example, if you build Iotivity as follows,
+   
+   $scons TARGET_OS=android TARGET_ARCH=x86 RELEASE=0
+
+   then, dependencies should be modified like below
+
+   dependencies {
+      compile(name:'iotivity-x86-service-debug', ext:'aar')
+      compile(name:'iotivity-x86-base-debug', ext:'aar')
+   }
+   
diff --git a/service/resource-encapsulation/examples/android/RESampleServerApp/RESampleServerApp.iml b/service/resource-encapsulation/examples/android/RESampleServerApp/RESampleServerApp.iml
new file mode 100644 (file)
index 0000000..71d54dd
--- /dev/null
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module external.linked.project.id="RESampleServerApp" external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$" external.system.id="GRADLE" external.system.module.group="" external.system.module.version="unspecified" type="JAVA_MODULE" version="4">
+  <component name="FacetManager">
+    <facet type="java-gradle" name="Java-Gradle">
+      <configuration>
+        <option name="BUILD_FOLDER_PATH" value="$MODULE_DIR$/build" />
+        <option name="BUILDABLE" value="false" />
+      </configuration>
+    </facet>
+  </component>
+  <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_7" inherit-compiler-output="true">
+    <exclude-output />
+    <content url="file://$MODULE_DIR$">
+      <excludeFolder url="file://$MODULE_DIR$/.gradle" />
+    </content>
+    <orderEntry type="inheritedJdk" />
+    <orderEntry type="sourceFolder" forTests="false" />
+  </component>
+</module>
\ No newline at end of file
diff --git a/service/resource-encapsulation/examples/android/RESampleServerApp/app/.gitignore b/service/resource-encapsulation/examples/android/RESampleServerApp/app/.gitignore
new file mode 100644 (file)
index 0000000..6a384b7
--- /dev/null
@@ -0,0 +1,2 @@
+/build
+/libs/*
diff --git a/service/resource-encapsulation/examples/android/RESampleServerApp/app/app.iml b/service/resource-encapsulation/examples/android/RESampleServerApp/app/app.iml
new file mode 100644 (file)
index 0000000..1bdcd5a
--- /dev/null
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module external.linked.project.id=":app" external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$/.." external.system.id="GRADLE" external.system.module.group="RESampleServerApp" external.system.module.version="unspecified" type="JAVA_MODULE" version="4">
+  <component name="FacetManager">
+    <facet type="android-gradle" name="Android-Gradle">
+      <configuration>
+        <option name="GRADLE_PROJECT_PATH" value=":app" />
+      </configuration>
+    </facet>
+    <facet type="android" name="Android">
+      <configuration>
+        <option name="SELECTED_BUILD_VARIANT" value="debug" />
+        <option name="SELECTED_TEST_ARTIFACT" value="_android_test_" />
+        <option name="ASSEMBLE_TASK_NAME" value="assembleDebug" />
+        <option name="COMPILE_JAVA_TASK_NAME" value="compileDebugSources" />
+        <option name="ASSEMBLE_TEST_TASK_NAME" value="assembleDebugAndroidTest" />
+        <option name="COMPILE_JAVA_TEST_TASK_NAME" value="compileDebugAndroidTestSources" />
+        <afterSyncTasks>
+          <task>generateDebugAndroidTestSources</task>
+          <task>generateDebugSources</task>
+        </afterSyncTasks>
+        <option name="ALLOW_USER_CONFIGURATION" value="false" />
+        <option name="MANIFEST_FILE_RELATIVE_PATH" value="/src/main/AndroidManifest.xml" />
+        <option name="RES_FOLDER_RELATIVE_PATH" value="/src/main/res" />
+        <option name="RES_FOLDERS_RELATIVE_PATH" value="file://$MODULE_DIR$/src/main/res" />
+        <option name="ASSETS_FOLDER_RELATIVE_PATH" value="/src/main/assets" />
+      </configuration>
+    </facet>
+  </component>
+  <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_7" inherit-compiler-output="false">
+    <output url="file://$MODULE_DIR$/build/intermediates/classes/debug" />
+    <output-test url="file://$MODULE_DIR$/build/intermediates/classes/androidTest/debug" />
+    <exclude-output />
+    <content url="file://$MODULE_DIR$">
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/r/debug" isTestSource="false" generated="true" />
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/aidl/debug" isTestSource="false" generated="true" />
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/debug" isTestSource="false" generated="true" />
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/rs/debug" isTestSource="false" generated="true" />
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/debug" type="java-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/res/resValues/debug" type="java-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/r/androidTest/debug" isTestSource="true" generated="true" />
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/aidl/androidTest/debug" isTestSource="true" generated="true" />
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/androidTest/debug" isTestSource="true" generated="true" />
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/rs/androidTest/debug" isTestSource="true" generated="true" />
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/androidTest/debug" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/res/resValues/androidTest/debug" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/debug/res" type="java-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/debug/resources" type="java-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/debug/assets" type="java-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/debug/aidl" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/src/debug/java" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/src/debug/jni" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/src/debug/rs" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/src/main/res" type="java-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/main/assets" type="java-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/main/aidl" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/src/main/jni" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/src/main/rs" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/res" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/resources" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/assets" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/aidl" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/java" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/jni" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/rs" isTestSource="true" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/assets" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/bundles" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/classes" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/coverage-instrumented-classes" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/dependency-cache" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/dex" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/dex-cache" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/iotivity-armeabi-base-release/jars" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/iotivity-armeabi-service-release/jars" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/jacoco" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/javaResources" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/libs" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/lint" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/manifests" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/ndk" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/pre-dexed" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/proguard" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/res" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/rs" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/symbols" />
+      <excludeFolder url="file://$MODULE_DIR$/build/outputs" />
+      <excludeFolder url="file://$MODULE_DIR$/build/tmp" />
+    </content>
+    <orderEntry type="jdk" jdkName="Android API 21 Platform" jdkType="Android SDK" />
+    <orderEntry type="sourceFolder" forTests="false" />
+    <orderEntry type="library" exported="" name="iotivity-armeabi-base-release-" level="project" />
+    <orderEntry type="library" exported="" name="iotivity-armeabi-service-release-" level="project" />
+  </component>
+</module>
\ No newline at end of file
diff --git a/service/resource-encapsulation/examples/android/RESampleServerApp/app/build.gradle b/service/resource-encapsulation/examples/android/RESampleServerApp/app/build.gradle
new file mode 100644 (file)
index 0000000..f6bc21a
--- /dev/null
@@ -0,0 +1,27 @@
+apply plugin: 'com.android.application'
+
+android {
+    compileSdkVersion 21
+    buildToolsVersion "21.1.2"
+
+    defaultConfig {
+        applicationId "org.iotivity.service.sample.server"
+        minSdkVersion 21
+        targetSdkVersion 21
+        versionCode 1
+        versionName "1.0"
+    }
+    buildTypes {
+        release {
+            minifyEnabled false
+            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
+        }
+    }
+}
+
+dependencies {
+    compile fileTree(dir: 'libs', include: ['*.jar'])
+
+    compile(name:'iotivity-armeabi-service-release', ext:'aar')
+    compile(name:'iotivity-armeabi-base-release', ext:'aar')
+}
diff --git a/service/resource-encapsulation/examples/android/RESampleServerApp/app/proguard-rules.pro b/service/resource-encapsulation/examples/android/RESampleServerApp/app/proguard-rules.pro
new file mode 100644 (file)
index 0000000..c570163
--- /dev/null
@@ -0,0 +1,17 @@
+# Add project specific ProGuard rules here.
+# By default, the flags in this file are appended to flags specified
+# in C:\Android/tools/proguard/proguard-android.txt
+# You can edit the include path and order by changing the proguardFiles
+# directive in build.gradle.
+#
+# For more details, see
+#   http://developer.android.com/guide/developing/tools/proguard.html
+
+# Add any project specific keep options here:
+
+# If your project uses WebView with JS, uncomment the following
+# and specify the fully qualified class name to the JavaScript interface
+# class:
+#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
+#   public *;
+#}
diff --git a/service/resource-encapsulation/examples/android/RESampleServerApp/app/src/main/AndroidManifest.xml b/service/resource-encapsulation/examples/android/RESampleServerApp/app/src/main/AndroidManifest.xml
new file mode 100644 (file)
index 0000000..2dfbbfb
--- /dev/null
@@ -0,0 +1,24 @@
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+    package="org.iotivity.service.sample.server">
+
+    <uses-permission android:name="android.permission.INTERNET" />
+    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
+
+    <application android:allowBackup="true" android:label="@string/app_name"
+        android:icon="@mipmap/ic_launcher" android:theme="@style/AppTheme">
+
+        <activity
+            android:name=".MainActivity"
+            android:label="@string/app_name" >
+            <intent-filter>
+                <action android:name="android.intent.action.MAIN" />
+
+                <category android:name="android.intent.category.LAUNCHER" />
+            </intent-filter>
+        </activity>
+
+        <activity android:name=".SimpleServerActivity" />
+        <activity android:name=".CustomServerActivity" />
+    </application>
+
+</manifest>
diff --git a/service/resource-encapsulation/examples/android/RESampleServerApp/app/src/main/java/org/iotivity/service/sample/server/CustomServerActivity.java b/service/resource-encapsulation/examples/android/RESampleServerApp/app/src/main/java/org/iotivity/service/sample/server/CustomServerActivity.java
new file mode 100644 (file)
index 0000000..4770609
--- /dev/null
@@ -0,0 +1,330 @@
+/******************************************************************
+ * Copyright 2015 Samsung Electronics All Rights Reserved.
+ * <p>
+ * <p>
+ * <p>
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * <p>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p>
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ ******************************************************************/
+
+package org.iotivity.service.sample.server;
+
+import java.lang.ref.WeakReference;
+
+import org.iotivity.service.RcsException;
+import org.iotivity.service.RcsResourceAttributes;
+import org.iotivity.service.RcsValue;
+import org.iotivity.service.server.RcsGetResponse;
+import org.iotivity.service.server.RcsRequest;
+import org.iotivity.service.server.RcsResourceObject;
+import org.iotivity.service.server.RcsResourceObject.GetRequestHandler;
+import org.iotivity.service.server.RcsResourceObject.OnAttributeUpdatedListener;
+import org.iotivity.service.server.RcsResourceObject.SetRequestHandler;
+import org.iotivity.service.server.RcsSetResponse;
+
+import android.app.Activity;
+import android.app.AlertDialog;
+import android.content.DialogInterface;
+import android.os.Bundle;
+import android.os.Handler;
+import android.os.Message;
+import android.util.Log;
+import android.view.View;
+import android.widget.AdapterView;
+import android.widget.AdapterView.OnItemClickListener;
+import android.widget.ArrayAdapter;
+import android.widget.Button;
+import android.widget.EditText;
+import android.widget.ListView;
+import android.widget.TextView;
+import android.widget.Toast;
+
+public class CustomServerActivity extends Activity
+        implements OnItemClickListener {
+    private static final String LOG_TAG = CustomServerActivity.class
+            .getSimpleName();
+
+    private static final int MSG_ID_PRINT_LOG = 0;
+
+    private Handler mHandler;
+
+    private ListView           mListView;
+    private TextView           mLogView;
+    private ArrayAdapter<Item> mItemAdapter;
+
+    private RcsResourceObject mResourceObject;
+
+    private GetRequestHandler mGetRequestHandler = new GetRequestHandler() {
+        @Override
+        public RcsGetResponse onGetRequested(RcsRequest request,
+                RcsResourceAttributes attrs) {
+            mHandler.obtainMessage(MSG_ID_PRINT_LOG,
+                    "Got a Get request from client, send default response \n"
+                            + "URI : " + request.getResourceUri() + "\n")
+                    .sendToTarget();
+
+            return RcsGetResponse.defaultAction();
+        }
+    };
+
+    private Item mGetRequestHandlerItem = new ToggleItem(
+            R.string.register_get_request_handler,
+            R.string.unregister_get_request_handler) {
+
+        @Override
+        public void execute() throws RcsException {
+            if (isChecked()) {
+                mResourceObject.setGetRequestHandler(null);
+            } else {
+                mResourceObject.setGetRequestHandler(mGetRequestHandler);
+            }
+            toggle();
+        }
+    };
+
+    private SetRequestHandler mSetRequestHandler = new SetRequestHandler() {
+        @Override
+        public RcsSetResponse onSetRequested(RcsRequest request,
+                RcsResourceAttributes attrs) {
+            mHandler.obtainMessage(MSG_ID_PRINT_LOG,
+                    "Got a Set request from client, send default response\n"
+                            + "URI : " + request.getResourceUri() + "\n")
+                    .sendToTarget();
+
+            return RcsSetResponse.defaultAction();
+        }
+    };
+
+    private Item mSetRequestHandlerItem = new ToggleItem(
+            R.string.register_set_request_handler,
+            R.string.unregister_set_request_handler) {
+
+        @Override
+        public void execute() throws RcsException {
+            if (isChecked()) {
+                mResourceObject.setSetRequestHandler(null);
+            } else {
+                mResourceObject.setSetRequestHandler(mSetRequestHandler);
+            }
+            toggle();
+        }
+    };
+
+    private OnAttributeUpdatedListener mOnAttributeUpdatedListener = new OnAttributeUpdatedListener() {
+        @Override
+        public void onAttributeUpdated(RcsValue oldValue, RcsValue newValue) {
+            mHandler.obtainMessage(MSG_ID_PRINT_LOG,
+                    "attributes updated\n" + "oldValue : " + oldValue
+                            + ",  newValue : " + newValue + "\n")
+                    .sendToTarget();
+        }
+    };
+
+    private Item mAttributeUpdatedListenerItem = new ToggleItem(
+            R.string.register_attribute_updated_listener,
+            R.string.unregister_attribute_updated_listener) {
+
+        @Override
+        public void execute() throws RcsException {
+            if (isChecked()) {
+                mResourceObject.removeAttributeUpdatedListener(
+                        ResourceProperties.ATTR_KEY_TEMPERATURE);
+            } else {
+                mResourceObject.addAttributeUpdatedListener(
+                        ResourceProperties.ATTR_KEY_TEMPERATURE,
+                        mOnAttributeUpdatedListener);
+            }
+            toggle();
+        }
+    };
+    private Item mSetTempItem = new Item() {
+
+        @Override
+        public String toString() {
+            return getString(R.string.set_temp);
+        }
+
+        @Override
+        public void execute() throws RcsException {
+            showInputValueDialog();
+        }
+    };
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        setContentView(R.layout.activity_custom_server);
+
+        mHandler = new LocalHandler(this);
+
+        mLogView = (TextView) findViewById(R.id.text_log);
+        mListView = (ListView) findViewById(R.id.list_menu);
+
+        initMenuList();
+    }
+
+    @Override
+    protected void onDestroy() {
+        super.onDestroy();
+
+        if (mResourceObject != null)
+            mResourceObject.destroy();
+    }
+
+    private void initMenuList() {
+        // the items that will be displayed on the UI.
+        Item[] items = new Item[] { mSetTempItem, mGetRequestHandlerItem,
+                mSetRequestHandlerItem, mAttributeUpdatedListenerItem };
+
+        mItemAdapter = new ArrayAdapter<>(this,
+                android.R.layout.simple_list_item_1, items);
+        mListView.setAdapter(mItemAdapter);
+
+        mListView.setOnItemClickListener(this);
+    }
+
+    @Override
+    public void onItemClick(AdapterView<?> parent, View view, int position,
+            long id) {
+        try {
+            mItemAdapter.getItem(position).execute();
+            mItemAdapter.notifyDataSetChanged();
+        } catch (RcsException e) {
+            showError(e.getMessage());
+        }
+    }
+
+    public void onStartServerClick(View v) {
+        Button btn = (Button) v;
+        if (mResourceObject == null) {
+            RcsResourceAttributes attrs = new RcsResourceAttributes();
+            attrs.put(ResourceProperties.ATTR_KEY_TEMPERATURE, 10);
+
+            mResourceObject = new RcsResourceObject.Builder(
+                    ResourceProperties.URI, ResourceProperties.TYPE,
+                    ResourceProperties.INTERFACE).setAttributes(attrs).build();
+
+            btn.setText(R.string.stop_server);
+            mListView.setVisibility(View.VISIBLE);
+            mLogView.setText("Resource created successfully");
+        } else {
+            mResourceObject.destroy();
+            mResourceObject = null;
+
+            btn.setText(R.string.start_server);
+            mListView.setVisibility(View.INVISIBLE);
+            mLogView.setText("Resource stopped successfully");
+        }
+    }
+
+    private void showInputValueDialog() {
+        final AlertDialog dialog = new AlertDialog.Builder(this)
+                .setTitle("Enter the Temperature Value")
+                .setView(R.layout.dialog_content_edit_text)
+                .setNegativeButton("Cancel", null).create();
+
+        dialog.setButton(DialogInterface.BUTTON_POSITIVE, "OK",
+                new DialogInterface.OnClickListener() {
+                    @Override
+                    public void onClick(DialogInterface dialogInterface,
+                            int which) {
+
+                        EditText editText = (EditText) dialog
+                                .findViewById(R.id.edit_text);
+
+                        try {
+                            RcsValue value = new RcsValue(Integer
+                                    .parseInt(editText.getText().toString()));
+
+                            mResourceObject.setAttribute(
+                                    ResourceProperties.ATTR_KEY_TEMPERATURE,
+                                    value);
+                            printLog(
+                                    "Attribute set successfully\nTemperature : "
+                                            + value);
+                        } catch (NumberFormatException e) {
+                            showError("Please enter the Integer Value");
+                        } catch (RcsException e) {
+                            printLog(e);
+                        }
+                    }
+                });
+        dialog.show();
+    }
+
+    private void showError(String message) {
+        Toast.makeText(this, message, Toast.LENGTH_SHORT).show();
+        Log.i(LOG_TAG, message);
+    }
+
+    private void printLog(String msg) {
+        mLogView.setText(msg);
+        Log.i(LOG_TAG, msg);
+    }
+
+    private void printLog(Exception e) {
+        mLogView.setText(e.getMessage());
+        Log.i(LOG_TAG, e.getMessage(), e);
+    }
+
+    private interface Item {
+        void execute() throws RcsException;
+    }
+
+    private static class LocalHandler extends Handler {
+        private WeakReference<CustomServerActivity> mActivityRef;
+
+        private LocalHandler(CustomServerActivity activity) {
+            mActivityRef = new WeakReference<>(activity);
+        }
+
+        @Override
+        public void handleMessage(Message msg) {
+            super.handleMessage(msg);
+
+            CustomServerActivity activity = mActivityRef.get();
+            if (activity == null)
+                return;
+
+            switch (msg.what) {
+                case MSG_ID_PRINT_LOG:
+                    activity.printLog(msg.obj.toString());
+                    break;
+            }
+        }
+    }
+
+    private abstract class ToggleItem implements Item {
+        private int mUncheckedStrId;
+        private int mCheckedStrId;
+
+        private boolean mIsChecked;
+
+        public ToggleItem(int uncheckedStrId, int checkedStrId) {
+            mUncheckedStrId = uncheckedStrId;
+            mCheckedStrId = checkedStrId;
+        }
+
+        @Override
+        public String toString() {
+            return getString(mIsChecked ? mCheckedStrId : mUncheckedStrId);
+        }
+
+        protected final boolean isChecked() {
+            return mIsChecked;
+        }
+
+        public final void toggle() {
+            mIsChecked = !mIsChecked;
+        }
+    }
+}
diff --git a/service/resource-encapsulation/examples/android/RESampleServerApp/app/src/main/java/org/iotivity/service/sample/server/MainActivity.java b/service/resource-encapsulation/examples/android/RESampleServerApp/app/src/main/java/org/iotivity/service/sample/server/MainActivity.java
new file mode 100644 (file)
index 0000000..b83b8ef
--- /dev/null
@@ -0,0 +1,92 @@
+/******************************************************************
+ * Copyright 2015 Samsung Electronics All Rights Reserved.
+ * <p>
+ * <p>
+ * <p>
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * <p>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p>
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ ******************************************************************/
+
+package org.iotivity.service.sample.server;
+
+import org.iotivity.base.ModeType;
+import org.iotivity.base.OcPlatform;
+import org.iotivity.base.PlatformConfig;
+import org.iotivity.base.QualityOfService;
+import org.iotivity.base.ServiceType;
+
+import android.app.Activity;
+import android.app.AlertDialog;
+import android.content.DialogInterface;
+import android.content.Intent;
+import android.net.ConnectivityManager;
+import android.os.Bundle;
+import android.util.Log;
+import android.view.View;
+
+/**
+ * Starting Activity of the application responsible for configuring the
+ * OcPlatform and redirecting to ServerBuilder or ResourceContainer activity as
+ * per user's selection
+ */
+public class MainActivity extends Activity {
+
+    private static final String LOG_TAG = MainActivity.class.getSimpleName();
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        setContentView(R.layout.activity_main);
+
+        if (!isWifiConnected()) {
+            showWifiUnavailableDialog();
+            return;
+        }
+
+        configurePlatform();
+    }
+
+    public void onSimpleServerBtnClick(View v) {
+        startActivity(new Intent(this, SimpleServerActivity.class));
+    }
+
+    public void onCustomServerBtnClick(View v) {
+        startActivity(new Intent(this, CustomServerActivity.class));
+    }
+
+    private void showWifiUnavailableDialog() {
+        new AlertDialog.Builder(this).setTitle("Error")
+                .setMessage(
+                        "WiFi is not enabled/connected! Please connect the WiFi and start application again...")
+                .setCancelable(false)
+                .setPositiveButton("OK", new DialogInterface.OnClickListener() {
+                    @Override
+                    public void onClick(DialogInterface dialog, int which) {
+                        finish();
+                    }
+                }).create().show();
+    }
+
+    private boolean isWifiConnected() {
+        ConnectivityManager connManager = (ConnectivityManager) getSystemService(
+                CONNECTIVITY_SERVICE);
+        return connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI)
+                .isConnected();
+    }
+
+    private void configurePlatform() {
+        OcPlatform.Configure(new PlatformConfig(getApplicationContext(),
+                ServiceType.IN_PROC, ModeType.CLIENT_SERVER, "0.0.0.0", 0,
+                QualityOfService.LOW));
+        Log.i(LOG_TAG, "Configuration done successfully");
+    }
+}
\ No newline at end of file
diff --git a/service/resource-encapsulation/examples/android/RESampleServerApp/app/src/main/java/org/iotivity/service/sample/server/ResourceProperties.java b/service/resource-encapsulation/examples/android/RESampleServerApp/app/src/main/java/org/iotivity/service/sample/server/ResourceProperties.java
new file mode 100644 (file)
index 0000000..e7afed8
--- /dev/null
@@ -0,0 +1,27 @@
+/******************************************************************
+ * Copyright 2015 Samsung Electronics All Rights Reserved.
+ * <p>
+ * <p>
+ * <p>
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * <p>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p>
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ ******************************************************************/
+
+package org.iotivity.service.sample.server;
+
+public class ResourceProperties {
+    public static final String URI       = "/a/TempSensor";
+    public static final String TYPE      = "oic.r.temperature.sensor";
+    public static final String INTERFACE = "oic.if.";
+
+    public static final String ATTR_KEY_TEMPERATURE = "Temperature";
+}
diff --git a/service/resource-encapsulation/examples/android/RESampleServerApp/app/src/main/java/org/iotivity/service/sample/server/SimpleServerActivity.java b/service/resource-encapsulation/examples/android/RESampleServerApp/app/src/main/java/org/iotivity/service/sample/server/SimpleServerActivity.java
new file mode 100644 (file)
index 0000000..a69e3bc
--- /dev/null
@@ -0,0 +1,141 @@
+/******************************************************************
+ * Copyright 2015 Samsung Electronics All Rights Reserved.
+ * <p/>
+ * <p/>
+ * <p/>
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * <p/>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p/>
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ ******************************************************************/
+
+package org.iotivity.service.sample.server;
+
+import org.iotivity.service.RcsException;
+import org.iotivity.service.RcsResourceAttributes;
+import org.iotivity.service.RcsValue;
+import org.iotivity.service.server.RcsResourceObject;
+
+import android.app.Activity;
+import android.app.AlertDialog;
+import android.content.DialogInterface;
+import android.os.Bundle;
+import android.util.Log;
+import android.view.View;
+import android.widget.Button;
+import android.widget.EditText;
+import android.widget.TextView;
+import android.widget.Toast;
+
+/**
+ * Activity for handling user's selection on UI for changing temperature. & for
+ * updating UI.
+ */
+public class SimpleServerActivity extends Activity {
+
+    private static final String LOG_TAG = SimpleServerActivity.class
+            .getSimpleName();
+
+    private TextView          mLogView;
+    private RcsResourceObject mResourceObject;
+    private View              mSetTempBtn;
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        setContentView(R.layout.activity_simple_server);
+
+        mLogView = (TextView) findViewById(R.id.text_log);
+        mSetTempBtn = findViewById(R.id.btn_set_temp);
+    }
+
+    @Override
+    protected void onDestroy() {
+        super.onDestroy();
+
+        if (mResourceObject != null)
+            mResourceObject.destroy();
+    }
+
+    public void onStartServerClick(View v) {
+        Button btn = (Button) v;
+        if (mResourceObject == null) {
+            RcsResourceAttributes attrs = new RcsResourceAttributes();
+            attrs.put(ResourceProperties.ATTR_KEY_TEMPERATURE, 10);
+
+            mResourceObject = new RcsResourceObject.Builder(
+                    ResourceProperties.URI, ResourceProperties.TYPE,
+                    ResourceProperties.INTERFACE).setAttributes(attrs).build();
+
+            btn.setText(R.string.stop_server);
+            mSetTempBtn.setEnabled(true);
+        } else {
+            mResourceObject.destroy();
+            mResourceObject = null;
+
+            btn.setText(R.string.start_server);
+            mSetTempBtn.setEnabled(false);
+        }
+    }
+
+    public void onSetTempClick(View v) {
+        showInputValueDialog();
+    }
+
+    private void showInputValueDialog() {
+        final AlertDialog dialog = new AlertDialog.Builder(this)
+                .setTitle("Enter the Temperature Value")
+                .setView(R.layout.dialog_content_edit_text)
+                .setNegativeButton("Cancel", null).create();
+
+        dialog.setButton(DialogInterface.BUTTON_POSITIVE, "OK",
+                new DialogInterface.OnClickListener() {
+                    @Override
+                    public void onClick(DialogInterface dialogInterface,
+                            int which) {
+
+                        EditText editText = (EditText) dialog
+                                .findViewById(R.id.edit_text);
+
+                        try {
+                            RcsValue value = new RcsValue(Integer
+                                    .parseInt(editText.getText().toString()));
+
+                            mResourceObject.setAttribute(
+                                    ResourceProperties.ATTR_KEY_TEMPERATURE,
+                                    value);
+                            printLog(
+                                    "Attribute set successfully\nTemperature : "
+                                            + value);
+                        } catch (NumberFormatException e) {
+                            showError("Please enter the Integer Value");
+                        } catch (RcsException e) {
+                            printLog(e);
+                        }
+                    }
+                });
+        dialog.show();
+    }
+
+    private void showError(String message) {
+        Toast.makeText(this, message, Toast.LENGTH_SHORT).show();
+        Log.i(LOG_TAG, message);
+    }
+
+    private void printLog(String msg) {
+        Log.e(LOG_TAG, msg);
+        mLogView.setText(msg);
+    }
+
+    private void printLog(Exception e) {
+        Log.e(LOG_TAG, e.getMessage(), e);
+        mLogView.setText(e.getMessage());
+    }
+}
diff --git a/service/resource-encapsulation/examples/android/RESampleServerApp/app/src/main/res/layout/activity_custom_server.xml b/service/resource-encapsulation/examples/android/RESampleServerApp/app/src/main/res/layout/activity_custom_server.xml
new file mode 100644 (file)
index 0000000..c262367
--- /dev/null
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:orientation="vertical">
+
+    <Button
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:onClick="onStartServerClick"
+        android:text="@string/start_server" />
+
+    <ListView
+        android:id="@+id/list_menu"
+        android:layout_width="match_parent"
+        android:layout_height="0dp"
+        android:layout_weight="1"
+        android:visibility="invisible" />
+
+    <TextView
+        android:id="@+id/text_log"
+        android:layout_width="fill_parent"
+        android:layout_height="250dp"
+        android:layout_marginTop="15dp"
+        android:ems="10" />
+
+</LinearLayout>
\ No newline at end of file
diff --git a/service/resource-encapsulation/examples/android/RESampleServerApp/app/src/main/res/layout/activity_main.xml b/service/resource-encapsulation/examples/android/RESampleServerApp/app/src/main/res/layout/activity_main.xml
new file mode 100644 (file)
index 0000000..7853579
--- /dev/null
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:orientation="vertical">
+
+    <Button
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:text="@string/simple_sever"
+        android:onClick="onSimpleServerBtnClick" />
+
+    <Button
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:text="@string/custom_sever"
+        android:onClick="onCustomServerBtnClick"  />
+
+</LinearLayout>
\ No newline at end of file
diff --git a/service/resource-encapsulation/examples/android/RESampleServerApp/app/src/main/res/layout/activity_simple_server.xml b/service/resource-encapsulation/examples/android/RESampleServerApp/app/src/main/res/layout/activity_simple_server.xml
new file mode 100644 (file)
index 0000000..ae00390
--- /dev/null
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:orientation="vertical">
+
+    <Button
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:onClick="onStartServerClick"
+        android:text="@string/start_server" />
+
+    <Button
+        android:id="@+id/btn_set_temp"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:enabled="false"
+        android:onClick="onSetTempClick"
+        android:text="@string/set_temp" />
+
+    <TextView
+        android:id="@+id/text_log"
+        android:layout_width="fill_parent"
+        android:layout_height="250dp"
+        android:layout_marginTop="15dp"
+        android:ems="10" />
+
+</LinearLayout>
\ No newline at end of file
diff --git a/service/resource-encapsulation/examples/android/RESampleServerApp/app/src/main/res/layout/dialog_content_edit_text.xml b/service/resource-encapsulation/examples/android/RESampleServerApp/app/src/main/res/layout/dialog_content_edit_text.xml
new file mode 100644 (file)
index 0000000..7fa9abb
--- /dev/null
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:orientation="vertical">
+
+    <EditText
+        android:id="@+id/edit_text"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_alignParentTop="true"
+        android:layout_centerHorizontal="true"
+        android:layout_marginTop="28dp"
+        android:ems="10"
+        android:hint="Enter the Temperature"
+        android:inputType="numberDecimal" />
+
+</RelativeLayout>
diff --git a/service/resource-encapsulation/examples/android/RESampleServerApp/app/src/main/res/mipmap-hdpi/ic_launcher.png b/service/resource-encapsulation/examples/android/RESampleServerApp/app/src/main/res/mipmap-hdpi/ic_launcher.png
new file mode 100644 (file)
index 0000000..cde69bc
Binary files /dev/null and b/service/resource-encapsulation/examples/android/RESampleServerApp/app/src/main/res/mipmap-hdpi/ic_launcher.png differ
diff --git a/service/resource-encapsulation/examples/android/RESampleServerApp/app/src/main/res/mipmap-mdpi/ic_launcher.png b/service/resource-encapsulation/examples/android/RESampleServerApp/app/src/main/res/mipmap-mdpi/ic_launcher.png
new file mode 100644 (file)
index 0000000..c133a0c
Binary files /dev/null and b/service/resource-encapsulation/examples/android/RESampleServerApp/app/src/main/res/mipmap-mdpi/ic_launcher.png differ
diff --git a/service/resource-encapsulation/examples/android/RESampleServerApp/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/service/resource-encapsulation/examples/android/RESampleServerApp/app/src/main/res/mipmap-xhdpi/ic_launcher.png
new file mode 100644 (file)
index 0000000..bfa42f0
Binary files /dev/null and b/service/resource-encapsulation/examples/android/RESampleServerApp/app/src/main/res/mipmap-xhdpi/ic_launcher.png differ
diff --git a/service/resource-encapsulation/examples/android/RESampleServerApp/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/service/resource-encapsulation/examples/android/RESampleServerApp/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
new file mode 100644 (file)
index 0000000..324e72c
Binary files /dev/null and b/service/resource-encapsulation/examples/android/RESampleServerApp/app/src/main/res/mipmap-xxhdpi/ic_launcher.png differ
diff --git a/service/resource-encapsulation/examples/android/RESampleServerApp/app/src/main/res/values-v21/styles.xml b/service/resource-encapsulation/examples/android/RESampleServerApp/app/src/main/res/values-v21/styles.xml
new file mode 100644 (file)
index 0000000..dba3c41
--- /dev/null
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+    <style name="AppTheme" parent="android:Theme.Material.Light">
+    </style>
+</resources>
diff --git a/service/resource-encapsulation/examples/android/RESampleServerApp/app/src/main/res/values/strings.xml b/service/resource-encapsulation/examples/android/RESampleServerApp/app/src/main/res/values/strings.xml
new file mode 100644 (file)
index 0000000..fb02c9c
--- /dev/null
@@ -0,0 +1,20 @@
+<resources>
+    <string name="app_name">RESampleServerApp</string>
+
+    <string name="start_server">Start</string>
+    <string name="stop_server">Stop Server</string>
+
+    <string name="set_temp">Set Temperature</string>
+
+    <string name="simple_sever">Simple Server</string>
+    <string name="custom_sever">Custom Server</string>
+
+    <string name="register_get_request_handler">Register GetRequestHandler</string>
+    <string name="unregister_get_request_handler">Unregister GetRequestHandler</string>
+
+    <string name="register_set_request_handler">Register SetRequestHandler</string>
+    <string name="unregister_set_request_handler">Unregister SetRequestHandler</string>
+
+    <string name="register_attribute_updated_listener">Register AttributeUpdatedListener</string>
+    <string name="unregister_attribute_updated_listener">Unregister AttributeUpdatedListener</string>
+</resources>
diff --git a/service/resource-encapsulation/examples/android/RESampleServerApp/app/src/main/res/values/styles.xml b/service/resource-encapsulation/examples/android/RESampleServerApp/app/src/main/res/values/styles.xml
new file mode 100644 (file)
index 0000000..ff6c9d2
--- /dev/null
@@ -0,0 +1,8 @@
+<resources>
+
+    <!-- Base application theme. -->
+    <style name="AppTheme" parent="android:Theme.Holo.Light.DarkActionBar">
+        <!-- Customize your theme here. -->
+    </style>
+
+</resources>
diff --git a/service/resource-encapsulation/examples/android/RESampleServerApp/build.gradle b/service/resource-encapsulation/examples/android/RESampleServerApp/build.gradle
new file mode 100644 (file)
index 0000000..6f0accc
--- /dev/null
@@ -0,0 +1,23 @@
+// Top-level build file where you can add configuration options common to all sub-projects/modules.
+
+buildscript {
+    repositories {
+        jcenter()
+    }
+    dependencies {
+        classpath 'com.android.tools.build:gradle:1.3.0'
+
+        // NOTE: Do not place your application dependencies here; they belong
+        // in the individual module build.gradle files
+    }
+}
+
+allprojects {
+    repositories {
+        jcenter()
+
+        flatDir {
+            dirs 'libs'
+        }
+    }
+}
diff --git a/service/resource-encapsulation/examples/android/RESampleServerApp/settings.gradle b/service/resource-encapsulation/examples/android/RESampleServerApp/settings.gradle
new file mode 100644 (file)
index 0000000..e7b4def
--- /dev/null
@@ -0,0 +1 @@
+include ':app'
diff --git a/service/resource-encapsulation/examples/android/REServer/.classpath b/service/resource-encapsulation/examples/android/REServer/.classpath
deleted file mode 100644 (file)
index 0461652..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-       <classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
-       <classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
-       <classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.DEPENDENCIES"/>
-       <classpathentry kind="src" path="src"/>
-       <classpathentry kind="src" path="gen"/>
-       <classpathentry kind="output" path="bin/classes"/>
-</classpath>
diff --git a/service/resource-encapsulation/examples/android/REServer/.project b/service/resource-encapsulation/examples/android/REServer/.project
deleted file mode 100644 (file)
index 84ae4dc..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-       <name>REServer</name>
-       <comment></comment>
-       <projects>
-       </projects>
-       <buildSpec>
-               <buildCommand>
-                       <name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name>
-                       <arguments>
-                       </arguments>
-               </buildCommand>
-               <buildCommand>
-                       <name>com.android.ide.eclipse.adt.PreCompilerBuilder</name>
-                       <arguments>
-                       </arguments>
-               </buildCommand>
-               <buildCommand>
-                       <name>org.eclipse.jdt.core.javabuilder</name>
-                       <arguments>
-                       </arguments>
-               </buildCommand>
-               <buildCommand>
-                       <name>com.android.ide.eclipse.adt.ApkBuilder</name>
-                       <arguments>
-                       </arguments>
-               </buildCommand>
-       </buildSpec>
-       <natures>
-               <nature>com.android.ide.eclipse.adt.AndroidNature</nature>
-               <nature>org.eclipse.jdt.core.javanature</nature>
-       </natures>
-</projectDescription>
diff --git a/service/resource-encapsulation/examples/android/REServer/AndroidManifest.xml b/service/resource-encapsulation/examples/android/REServer/AndroidManifest.xml
deleted file mode 100644 (file)
index 4357edb..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<manifest xmlns:android="http://schemas.android.com/apk/res/android"
-    package="com.example.sampleresourceserver"
-    android:versionCode="1"
-    android:versionName="1.0" >
-
-    <uses-sdk
-        android:minSdkVersion="8"
-        android:targetSdkVersion="21" />
-
-    <uses-permission android:name="android.permission.INTERNET" />
-    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
-    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
-
-    <application
-        android:allowBackup="true"
-        android:icon="@drawable/iot"
-        android:label="@string/app_name"
-        android:theme="@style/AppTheme" >
-        <activity
-            android:name="com.example.sampleserver.MainActivity"
-            android:label="@string/app_name" >
-            <intent-filter>
-                <action android:name="android.intent.action.MAIN" />
-
-                <category android:name="android.intent.category.LAUNCHER" />
-            </intent-filter>
-        </activity>
-        <activity
-            android:name="com.example.sampleserver.ServerBuilderActivity"
-            android:label="@string/app_name" >
-        </activity>
-        <activity
-            android:name="com.example.sampleserver.ResourceContainerActivity"
-            android:label="@string/app_name" >
-        </activity>
-        <activity
-            android:name="com.example.sampleserver.ServerBuilderAutoActivity"
-            android:label="@string/app_name" >
-        </activity>
-        <activity
-            android:name="com.example.sampleserver.ServerBuilderDevActivity"
-            android:label="@string/app_name" >
-        </activity>
-    </application>
-
-</manifest>
\ No newline at end of file
diff --git a/service/resource-encapsulation/examples/android/REServer/assets/lib/ResourceContainerConfig.xml b/service/resource-encapsulation/examples/android/REServer/assets/lib/ResourceContainerConfig.xml
deleted file mode 100644 (file)
index 3ba52a2..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
- <container>
-    <bundle>
-        <id>oic.bundle.discomfortIndexSensor</id>
-        <path>data/data/com.example.sampleresourceserver/files/libDISensorBundle.so</path>
-        <version>1.0.0</version>
-        <resources>
-            <resourceInfo>
-                <name>DiscomfortIndexSensor1</name>
-                <resourceType>oic.softsensor</resourceType>
-                <outputs>
-                    <output>
-                        <name>discomfortIndex</name>
-                        <type>int</type>
-                    </output>
-                    <output>
-                        <name>humidity</name>
-                        <type>double</type>
-                    </output>
-                    <output>
-                        <name>temperature</name>
-                        <type>double</type>
-                    </output>
-                </outputs>
-                <inputs>
-                    <input>
-                        <name>humidity</name>
-                        <type>double</type>
-                        <resourceType>oic.sensor.humidity</resourceType>
-                    </input>
-                    <input>
-                        <name>temperature</name>
-                        <type>double</type>
-                        <resourceType>oic.sensor.temperature</resourceType>
-                    </input>
-                </inputs>
-            </resourceInfo>
-        </resources>
-    </bundle>
-</container>
diff --git a/service/resource-encapsulation/examples/android/REServer/ic_launcher-web.png b/service/resource-encapsulation/examples/android/REServer/ic_launcher-web.png
deleted file mode 100644 (file)
index a18cbb4..0000000
Binary files a/service/resource-encapsulation/examples/android/REServer/ic_launcher-web.png and /dev/null differ
diff --git a/service/resource-encapsulation/examples/android/REServer/project.properties b/service/resource-encapsulation/examples/android/REServer/project.properties
deleted file mode 100644 (file)
index 6ab28b0..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-# This file is automatically generated by Android Tools.
-# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
-#
-# This file must be checked in Version Control Systems.
-#
-# To customize properties used by the Ant build system edit
-# "ant.properties", and override values to adapt the script to your
-# project structure.
-#
-# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home):
-#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
-
-# Project target.
-target=android-21
-android.library.reference.1=../../../sdk/java
diff --git a/service/resource-encapsulation/examples/android/REServer/res/drawable-hdpi/ic_launcher.png b/service/resource-encapsulation/examples/android/REServer/res/drawable-hdpi/ic_launcher.png
deleted file mode 100644 (file)
index 288b665..0000000
Binary files a/service/resource-encapsulation/examples/android/REServer/res/drawable-hdpi/ic_launcher.png and /dev/null differ
diff --git a/service/resource-encapsulation/examples/android/REServer/res/drawable-hdpi/iot.jpg b/service/resource-encapsulation/examples/android/REServer/res/drawable-hdpi/iot.jpg
deleted file mode 100644 (file)
index 17c5a93..0000000
Binary files a/service/resource-encapsulation/examples/android/REServer/res/drawable-hdpi/iot.jpg and /dev/null differ
diff --git a/service/resource-encapsulation/examples/android/REServer/res/drawable-mdpi/ic_launcher.png b/service/resource-encapsulation/examples/android/REServer/res/drawable-mdpi/ic_launcher.png
deleted file mode 100644 (file)
index 6ae570b..0000000
Binary files a/service/resource-encapsulation/examples/android/REServer/res/drawable-mdpi/ic_launcher.png and /dev/null differ
diff --git a/service/resource-encapsulation/examples/android/REServer/res/drawable-xhdpi/ic_launcher.png b/service/resource-encapsulation/examples/android/REServer/res/drawable-xhdpi/ic_launcher.png
deleted file mode 100644 (file)
index d4fb7cd..0000000
Binary files a/service/resource-encapsulation/examples/android/REServer/res/drawable-xhdpi/ic_launcher.png and /dev/null differ
diff --git a/service/resource-encapsulation/examples/android/REServer/res/drawable-xxhdpi/ic_launcher.png b/service/resource-encapsulation/examples/android/REServer/res/drawable-xxhdpi/ic_launcher.png
deleted file mode 100644 (file)
index 85a6081..0000000
Binary files a/service/resource-encapsulation/examples/android/REServer/res/drawable-xxhdpi/ic_launcher.png and /dev/null differ
diff --git a/service/resource-encapsulation/examples/android/REServer/res/layout/activity_main.xml b/service/resource-encapsulation/examples/android/REServer/res/layout/activity_main.xml
deleted file mode 100644 (file)
index 901e033..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-
-<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent">
-
-     <ListView
-              android:id="@+id/list"
-              android:layout_height="wrap_content"
-              android:layout_width="match_parent">
-         </ListView>
-
-</RelativeLayout>
\ No newline at end of file
diff --git a/service/resource-encapsulation/examples/android/REServer/res/layout/group.xml b/service/resource-encapsulation/examples/android/REServer/res/layout/group.xml
deleted file mode 100644 (file)
index 2636052..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="fill_parent"
-    android:layout_height="wrap_content"
-    android:orientation="vertical"
-    android:padding="8dp" >
-
-    <TextView
-        android:id="@+id/ListHead"
-        android:layout_width="fill_parent"
-        android:layout_height="wrap_content"
-        android:paddingLeft="?android:attr/expandableListPreferredItemPaddingLeft"
-        android:textSize="20dp" />
-
-</LinearLayout>
\ No newline at end of file
diff --git a/service/resource-encapsulation/examples/android/REServer/res/layout/list_item.xml b/service/resource-encapsulation/examples/android/REServer/res/layout/list_item.xml
deleted file mode 100644 (file)
index 7e7bf61..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="55dip"
-    android:orientation="vertical" >
-
-    <TextView
-        android:id="@+id/listItem"
-        android:layout_width="fill_parent"
-        android:layout_height="wrap_content"
-        android:paddingBottom="5dp"
-        android:paddingLeft="?android:attr/expandableListPreferredChildPaddingLeft"
-        android:paddingTop="5dp"
-        android:textSize="20dip" />
-
-</LinearLayout>
\ No newline at end of file
diff --git a/service/resource-encapsulation/examples/android/REServer/res/layout/resource_container.xml b/service/resource-encapsulation/examples/android/REServer/res/layout/resource_container.xml
deleted file mode 100644 (file)
index 50456c4..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent" >
-
-    <Button
-        android:id="@+id/startContainer"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_alignParentLeft="true"
-        android:layout_alignParentTop="true"
-        android:text="Start Container" />
-
-    <ExpandableListView
-        android:id="@+id/lvExp"
-        android:layout_width="match_parent"
-        android:layout_height="300dp"
-        android:layout_below="@id/startContainer" />
-
-    <Button
-        android:id="@+id/listBundles"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_alignParentRight="true"
-        android:layout_alignParentTop="true"
-        android:text="List Bundles" />
-
-    <EditText
-        android:id="@+id/log"
-        android:layout_width="fill_parent"
-        android:layout_height="wrap_content"
-        android:layout_alignParentBottom="true"
-        android:layout_alignParentLeft="true"
-        android:layout_below="@id/lvExp"
-        android:editable="false"
-        android:ems="10" />
-
-</RelativeLayout>
diff --git a/service/resource-encapsulation/examples/android/REServer/res/layout/server_builder.xml b/service/resource-encapsulation/examples/android/REServer/res/layout/server_builder.xml
deleted file mode 100644 (file)
index 22fb8fc..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent">
-
-    <ListView
-        android:id="@+id/buildeList"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content" >
-    </ListView>
-
-</RelativeLayout>
\ No newline at end of file
diff --git a/service/resource-encapsulation/examples/android/REServer/res/layout/server_builder_auto.xml b/service/resource-encapsulation/examples/android/REServer/res/layout/server_builder_auto.xml
deleted file mode 100644 (file)
index 1d38175..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent" >
-
-    <ListView
-        android:id="@+id/serverBuilderAutoList"
-        android:layout_width="match_parent"
-        android:layout_height="300dp" >
-    </ListView>
-
-    <EditText
-        android:id="@+id/Autolog"
-        android:layout_width="fill_parent"
-        android:layout_height="250dp"
-        android:layout_alignParentLeft="true"
-        android:layout_below="@+id/serverBuilderAutoList"
-        android:layout_marginTop="15dp"
-        android:editable="false"
-        android:ems="10" >
-
-        <requestFocus />
-    </EditText>
-
-</RelativeLayout>
\ No newline at end of file
diff --git a/service/resource-encapsulation/examples/android/REServer/res/layout/server_builder_dev.xml b/service/resource-encapsulation/examples/android/REServer/res/layout/server_builder_dev.xml
deleted file mode 100644 (file)
index 510c912..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent" >
-
-    <ListView
-        android:id="@+id/serverBuilderDevList"
-        android:layout_width="match_parent"
-        android:layout_height="300dp" >
-    </ListView>
-
-    <EditText
-        android:id="@+id/devLog"
-        android:layout_width="fill_parent"
-        android:layout_height="250dp"
-        android:layout_alignParentLeft="true"
-        android:layout_below="@+id/serverBuilderDevList"
-        android:layout_marginTop="15dp"
-        android:editable="false"
-        android:ems="10" >
-
-        <requestFocus />
-    </EditText>
-
-</RelativeLayout>
\ No newline at end of file
diff --git a/service/resource-encapsulation/examples/android/REServer/res/layout/userinputfortemperaturevalue.xml b/service/resource-encapsulation/examples/android/REServer/res/layout/userinputfortemperaturevalue.xml
deleted file mode 100644 (file)
index 65bbf6f..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:orientation="vertical" >
-
-    <EditText
-        android:id="@+id/attributeValue"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_alignParentTop="true"
-        android:layout_centerHorizontal="true"
-        android:layout_marginTop="28dp"
-        android:ems="10"
-        android:hint="Enter the Temperature" />
-
-    <Button
-        android:id="@+id/ok"
-        android:layout_width="150dp"
-        android:layout_height="wrap_content"
-        android:layout_alignParentLeft="true"
-        android:layout_below="@+id/region"
-        android:layout_marginTop="101dp"
-        android:text="OK" />
-
-    <Button
-        android:id="@+id/cancel"
-        android:layout_width="150dp"
-        android:layout_height="wrap_content"
-        android:layout_alignBaseline="@+id/ok"
-        android:layout_alignBottom="@+id/ok"
-        android:layout_alignParentRight="true"
-        android:text="Cancel" />
-
-</RelativeLayout>
diff --git a/service/resource-encapsulation/examples/android/REServer/res/menu/main.xml b/service/resource-encapsulation/examples/android/REServer/res/menu/main.xml
deleted file mode 100644 (file)
index 3925812..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-<menu xmlns:android="http://schemas.android.com/apk/res/android" >
-    <item
-        android:id="@+id/re_server"
-        android:orderInCategory="100"
-        android:showAsAction="never"
-        android:title="@string/re_server"/>
-</menu>
\ No newline at end of file
diff --git a/service/resource-encapsulation/examples/android/REServer/res/values-v11/styles.xml b/service/resource-encapsulation/examples/android/REServer/res/values-v11/styles.xml
deleted file mode 100644 (file)
index 1074513..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-<resources>
-
-    <style name="AppBaseTheme" parent="android:Theme.Holo.Light">
-    </style>
-
-</resources>
diff --git a/service/resource-encapsulation/examples/android/REServer/res/values-v14/styles.xml b/service/resource-encapsulation/examples/android/REServer/res/values-v14/styles.xml
deleted file mode 100644 (file)
index 2d1ebfe..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-  <resources>
-
-    <style name="AppBaseTheme" parent="android:Theme.Light">
-    </style>
-
-    <style name="AppTheme" parent="AppBaseTheme">
-    </style>
-
-</resources>
diff --git a/service/resource-encapsulation/examples/android/REServer/res/values-w820dp/dimens.xml b/service/resource-encapsulation/examples/android/REServer/res/values-w820dp/dimens.xml
deleted file mode 100644 (file)
index 146c0e1..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-<resources>
-    <dimen name="activity_horizontal_margin">64dp</dimen>
-</resources>
diff --git a/service/resource-encapsulation/examples/android/REServer/res/values/dimens.xml b/service/resource-encapsulation/examples/android/REServer/res/values/dimens.xml
deleted file mode 100644 (file)
index fe991af..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-<resources>
-    <dimen name="activity_horizontal_margin">16dp</dimen>
-    <dimen name="activity_vertical_margin">16dp</dimen>
-</resources>
diff --git a/service/resource-encapsulation/examples/android/REServer/res/values/strings.xml b/service/resource-encapsulation/examples/android/REServer/res/values/strings.xml
deleted file mode 100644 (file)
index 8f6be76..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<resources>
-    <string name="app_name">REServer</string>
-    <string name="hello_world">RE Server!</string>
-    <string name="re_server">RE_SERVER</string>
-</resources>
diff --git a/service/resource-encapsulation/examples/android/REServer/res/values/styles.xml b/service/resource-encapsulation/examples/android/REServer/res/values/styles.xml
deleted file mode 100644 (file)
index 3ccf2b0..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-<resources>
-
-    <style name="AppBaseTheme" parent="android:Theme.Light">
-
-    </style>
-
-    <!-- Application theme. -->
-    <style name="AppTheme" parent="AppBaseTheme">
-
-    </style>
-
-</resources>
diff --git a/service/resource-encapsulation/examples/android/REServer/src/com/example/sampleserver/MainActivity.java b/service/resource-encapsulation/examples/android/REServer/src/com/example/sampleserver/MainActivity.java
deleted file mode 100644 (file)
index 4cd89f6..0000000
+++ /dev/null
@@ -1,202 +0,0 @@
-/******************************************************************
- *
- * Copyright 2015 Samsung Electronics All Rights Reserved.
- *
- *
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- ******************************************************************/
-
-package com.example.sampleserver;
-
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.util.ArrayList;
-
-import org.iotivity.base.ModeType;
-import org.iotivity.base.OcPlatform;
-import org.iotivity.base.PlatformConfig;
-import org.iotivity.base.QualityOfService;
-import org.iotivity.base.ServiceType;
-
-import com.example.sampleresourceserver.R;
-
-import android.app.Activity;
-import android.app.AlertDialog;
-import android.content.Context;
-import android.content.DialogInterface;
-import android.content.Intent;
-import android.content.DialogInterface.OnClickListener;
-import android.content.res.AssetManager;
-import android.net.ConnectivityManager;
-import android.net.NetworkInfo;
-import android.os.Bundle;
-import android.util.Log;
-import android.view.View;
-import android.widget.AdapterView;
-import android.widget.ArrayAdapter;
-import android.widget.ListView;
-import android.widget.AdapterView.OnItemClickListener;
-
-/**
- * Starting Activity of the application responsible for configuring the
- * OcPlatform and redirecting to ServerBuilder or ResourceContainer activity as
- * per user's selection
- */
-public class MainActivity extends Activity {
-
-    private static MainActivity  activityObj;
-    private ArrayAdapter<String> apis;
-    private ArrayList<String>    apisList;
-    private Context              context;
-    private ListView             list;
-    private final String         LOG_TAG = "[ReSampleServer]"
-                                                 + this.getClass()
-                                                         .getSimpleName();
-
-    @Override
-    protected void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        setContentView(R.layout.activity_main);
-        activityObj = this;
-        context = this;
-        list = (ListView) findViewById(R.id.list);
-        apisList = new ArrayList<String>();
-
-        // adding the item to list that will be displayed on the UI.
-        apisList.add("Server Builder");
-        apisList.add("Resource Container");
-        apis = new ArrayAdapter<String>(activityObj,
-                android.R.layout.simple_list_item_1, apisList);
-        list.setAdapter(apis);
-
-        // handling user's selection on the UI
-        list.setOnItemClickListener(new OnItemClickListener() {
-            @Override
-            public void onItemClick(AdapterView<?> parent, View view,
-                    int position, long id) {
-
-                if (position == 0) {
-
-                    ServerBuilder builderObject = new ServerBuilder();
-                    builderObject.createResource();
-
-                    Intent intent = new Intent(activityObj,
-                            ServerBuilderActivity.class);
-                    startActivity(intent);
-                }
-                if (position == 1) {
-                    Intent intent = new Intent(activityObj,
-                            ResourceContainerActivity.class);
-                    startActivity(intent);
-                }
-            }
-        });
-
-        // calling the method to check the Wi-fi connectivity and configuring
-        // the OcPlatform
-        configurePlatform();
-
-        // copy all the files from assets folder to SDcard
-        CopyAssetsToSDCard();
-    }
-
-    private void CopyAssetsToSDCard() {
-        AssetManager assetManager = getAssets();
-        String[] files = null;
-        try {
-            files = assetManager.list("lib");
-        } catch (IOException e) {
-            Log.e(LOG_TAG, e.getMessage());
-        }
-
-        for (String filename : files) {
-            InputStream in = null;
-            OutputStream out = null;
-            try {
-                in = assetManager.open("lib/" + filename);
-                out = new FileOutputStream(context.getFilesDir().getParent()
-                        + "/files/" + filename);
-                copyIndividualFile(in, out);
-                in.close();
-                in = null;
-                out.flush();
-                out.close();
-                out = null;
-            } catch (Exception e) {
-                Log.e(LOG_TAG, e.getMessage());
-            }
-        }
-    }
-
-    private void copyIndividualFile(InputStream in, OutputStream out)
-            throws IOException {
-
-        Log.i(LOG_TAG, "copyIndividualFile");
-        byte[] buffer = new byte[2048];
-        int read;
-        while ((read = in.read(buffer)) != -1) {
-            out.write(buffer, 0, read);
-        }
-    }
-
-    @Override
-    public void onBackPressed() {
-        apisList.clear();
-        super.onBackPressed();
-    }
-
-    private void configurePlatform() {
-        // local Variables
-        ConnectivityManager connManager;
-        NetworkInfo wifi;
-        AlertDialog dialog;
-        PlatformConfig platformConfigObj;
-
-        // Check the wifi connectivity
-        connManager = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE);
-        wifi = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
-        if (false == wifi.isConnected()) {
-            // WiFi is not connected close the application
-            AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(this);
-            dialogBuilder.setTitle("Error");
-            dialogBuilder
-                    .setMessage("WiFi is not enabled/connected! Please connect the WiFi and start application again...");
-            dialogBuilder.setCancelable(false);
-            dialogBuilder.setPositiveButton("OK", new OnClickListener() {
-                @Override
-                public void onClick(DialogInterface dialog, int which) {
-                    // Closing the application
-                    activityObj.finish();
-                }
-            });
-
-            dialog = dialogBuilder.create();
-            dialog.show();
-            Log.i(LOG_TAG,
-                    "WiFi is not enabled/connected! Please connect the WiFi and start application again...");
-            return;
-        }
-        // If wifi is connected calling the configure method for configuring the
-        // OcPlatform
-        platformConfigObj = new PlatformConfig(getApplicationContext(),
-                ServiceType.IN_PROC, ModeType.CLIENT_SERVER, "0.0.0.0", 0,
-                QualityOfService.LOW);
-
-        OcPlatform.Configure(platformConfigObj);
-        Log.i(LOG_TAG, "Configuration done Successfully");
-    }
-}
\ No newline at end of file
diff --git a/service/resource-encapsulation/examples/android/REServer/src/com/example/sampleserver/ResourceContainer.java b/service/resource-encapsulation/examples/android/REServer/src/com/example/sampleserver/ResourceContainer.java
deleted file mode 100644 (file)
index 5440b71..0000000
+++ /dev/null
@@ -1,374 +0,0 @@
-/******************************************************************
- *
- * Copyright 2015 Samsung Electronics All Rights Reserved.
- *
- *
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- ******************************************************************/
-
-package com.example.sampleserver;
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.iotivity.ResourceEncapsulation.server.RCSBundleInfo;
-import org.iotivity.ResourceEncapsulation.server.RCSResourceContainer;
-
-import android.os.Message;
-
-/**
- * For calling the Resource Container APIs as per user selection on UI and for
- * updating the UI
- *
- * It contains all the Resource Container APIs.
- */
-public class ResourceContainer {
-
-    private RCSResourceContainer             containerInstance;
-    public static String                     logMessage;
-    private static ResourceContainerActivity resourceContainerActivityInstance;
-    private static Message                   msg;
-    public static boolean                    startBundleFlag;
-    public static boolean                    isStarted     = false;
-    public static boolean                    isInitialized = false;
-
-    // constructor
-    public ResourceContainer() {
-        resourceContainerActivityInstance = ResourceContainerActivity
-                .getResourceContainerActivityObj();
-        containerInstance = RCSResourceContainer.getInstance();
-    }
-
-    // Start Container
-    public void startContainer(String sdCardPath) {
-
-        String configFile = sdCardPath + "/ResourceContainerConfig.xml";
-        if (!isStarted && !isInitialized) {
-            for (int i = 0; i < 2; i++) {
-                containerInstance.startContainer(configFile);
-            }
-            isStarted = true;
-            isInitialized = true;
-        } else {
-            containerInstance.startContainer(configFile);
-            isStarted = true;
-        }
-
-        logMessage = "Container Started";
-        logMessage += "with one Bundle" + "\n";
-        logMessage += "ID : oic.bundle.discomfortIndexSensor";
-
-        ResourceContainerActivity.setMessageLog(logMessage);
-        msg = Message.obtain();
-        msg.what = 1;
-        resourceContainerActivityInstance.getHandler().sendMessage(msg);
-
-        msg = Message.obtain();
-        msg.what = 0;
-        resourceContainerActivityInstance.getHandler().sendMessage(msg);
-    }
-
-    // Stop Container
-    public void stopContainer() {
-
-        if (isStarted) {
-            containerInstance.stopContainer();
-            logMessage = "Container stopped";
-            isStarted = false;
-            ResourceContainerActivity.setMessageLog(logMessage);
-            msg = Message.obtain();
-            msg.what = 1;
-            resourceContainerActivityInstance.getHandler().sendMessage(msg);
-        }
-    }
-
-    // List Bundle Resources DI
-    public void listBundleResourcesDI() {
-
-        List<String> bundleResources = containerInstance
-                .listBundleResources("oic.bundle.discomfortIndexSensor");
-
-        Iterator<String> it = bundleResources.iterator();
-        logMessage = "";
-
-        if (0 == bundleResources.size()) {
-            logMessage += "No resource found in the bundle" + "\n";
-        } else {
-            while (it.hasNext()) {
-                String element = (String) it.next();
-                logMessage += element + "\n";
-            }
-        }
-        ResourceContainerActivity.setMessageLog(logMessage);
-        msg = Message.obtain();
-        msg.what = 1;
-        resourceContainerActivityInstance.getHandler().sendMessage(msg);
-    }
-
-    // List Bundle Resources BMI
-    public void listBundleResourcesBMI() {
-
-        List<String> bundleResources = containerInstance
-                .listBundleResources("oic.bundle.BMISensor");
-        Iterator<String> it = bundleResources.iterator();
-        logMessage = "";
-
-        if (0 == bundleResources.size()) {
-            logMessage += "No resource found in the bundle" + "\n";
-        } else {
-            while (it.hasNext()) {
-                String element = (String) it.next();
-                logMessage += element + "\n";
-            }
-        }
-        ResourceContainerActivity.setMessageLog(logMessage);
-        msg = Message.obtain();
-        msg.what = 1;
-        resourceContainerActivityInstance.getHandler().sendMessage(msg);
-    }
-
-    // List Bundles
-    public void listBundles() {
-
-        List<RCSBundleInfo> bundleList = containerInstance.listBundles();
-        Iterator<RCSBundleInfo> it = bundleList.iterator();
-        int i = 0;
-        logMessage = "";
-        logMessage += "size of bundleList : " + bundleList.size() + "\n\n";
-
-        while (it.hasNext()) {
-            i++;
-            RCSBundleInfo object = (RCSBundleInfo) it.next();
-            logMessage += "Bundle : " + i + " -: \n";
-            logMessage += "ID : " + object.getID() + "\n";
-            logMessage += "Lib Path: " + object.getPath() + "\n";
-            if (!(object.getVersion().equalsIgnoreCase("")))
-                logMessage += "version : " + object.getVersion() + "\n\n";
-            else
-                logMessage += "\n";
-        }
-        ResourceContainerActivity.setMessageLog(logMessage);
-        msg = Message.obtain();
-        msg.what = 1;
-        resourceContainerActivityInstance.getHandler().sendMessage(msg);
-    }
-
-    // Add Bundle BMI
-    public void addBundleBMI() {
-
-        Map<String, String> bundleParams = null;
-        List<RCSBundleInfo> bundleList = containerInstance.listBundles();
-        if (1 < bundleList.size()) {
-            logMessage = "Bundle already added" + "\n";
-        } else {
-            for (int i = 0; i < 2; i++) {
-                containerInstance
-                        .addBundle(
-                                "oic.bundle.BMISensor",
-                                "xyz",
-                                "data/data/com.example.sampleresourceserver/files/libBMISensorBundle.so",
-                                bundleParams);
-            }
-
-            logMessage = "bundle to add : " + "\n";
-            logMessage += "ID :" + "oic.bundle.BMISensor" + "\n";
-            logMessage += "Uri: " + "xyz" + "\n";
-            logMessage += "Path : "
-                    + "data/data/com.re.sampleclient/files/libBMISensorBundle.so"
-                    + "\n";
-            logMessage += "bundle added successfully" + "\n";
-        }
-
-        ResourceContainerActivity.setMessageLog(logMessage);
-        msg = Message.obtain();
-        msg.what = 1;
-        resourceContainerActivityInstance.getHandler().sendMessage(msg);
-    }
-
-    // Remove Bundle BMI
-    public void removeBundleBMI() {
-
-        List<RCSBundleInfo> bundleList = containerInstance.listBundles();
-        if (1 == bundleList.size()) {
-            logMessage = "Bundle already removed" + "\n";
-        } else {
-
-            for (int i = 0; i < 2; i++) {
-                containerInstance.removeBundle("oic.bundle.BMISensor");
-            }
-            startBundleFlag = false;
-            logMessage = "bundle to remove : " + "\n";
-            logMessage += "ID :" + "oic.bundle.BMISensor" + "\n";
-            logMessage += " bundle removed  successfully" + "\n";
-        }
-        ResourceContainerActivity.setMessageLog(logMessage);
-        msg = Message.obtain();
-        msg.what = 1;
-        resourceContainerActivityInstance.getHandler().sendMessage(msg);
-    }
-
-    // Start Bundle BMI
-    public void startBundleBMI() {
-
-        List<RCSBundleInfo> bundleList = containerInstance.listBundles();
-        if (1 == bundleList.size()) {
-            logMessage = "BMI bundle not added" + "\n";
-        } else if (true == startBundleFlag) {
-            logMessage = "Bundle already started" + "\n";
-        } else {
-            startBundleFlag = true;
-            containerInstance.startBundle("oic.bundle.BMISensor");
-
-            logMessage = " bundle to start" + "\n";
-            logMessage += " ID : oic.bundle.BMISensor" + "\n";
-            logMessage += " bundle started successfully" + "\n";
-        }
-        ResourceContainerActivity.setMessageLog(logMessage);
-        msg = Message.obtain();
-        msg.what = 1;
-        resourceContainerActivityInstance.getHandler().sendMessage(msg);
-    }
-
-    // Stop Bundle BMI
-    public void stopBundleBMI() {
-
-        if (false == startBundleFlag) {
-            logMessage = "Bundle is not Started" + "\n";
-        } else {
-            List<RCSBundleInfo> bundleList = containerInstance.listBundles();
-            if (0 == bundleList.size()) {
-                logMessage = "No bundle to Stop" + "\n";
-            } else {
-                containerInstance.stopBundle("oic.bundle.BMISensor");
-                startBundleFlag = false;
-                logMessage = " bundle to stop" + "\n";
-                logMessage += " ID : oic.bundle.BMISensor" + "\n";
-                logMessage += " bundle stopped successfully" + "\n";
-            }
-        }
-
-        ResourceContainerActivity.setMessageLog(logMessage);
-        msg = Message.obtain();
-        msg.what = 1;
-        resourceContainerActivityInstance.getHandler().sendMessage(msg);
-    }
-
-    // Add Resource Configuration to DI bundle
-    public void addResourceConfigDI() {
-
-        List<RCSBundleInfo> bundleList = containerInstance.listBundles();
-        List<String> bundleResources = containerInstance
-                .listBundleResources("oic.bundle.discomfortIndexSensor");
-
-        if (0 == bundleList.size()) {
-            logMessage = "No bundle found" + "\n";
-        } else if ((0 == bundleList.size()) && (0 == bundleResources.size())) {
-            logMessage = "No bundle found" + "\n";
-        } else {
-            Map<String, String> params = new HashMap<String, String>();
-            params.put("resourceType", "oic.softsensor");
-            params.put("address",
-                    "http://192.168.0.2/api/newdeveloper/sensor/22");
-            containerInstance.addResourceConfig(
-                    "oic.bundle.discomfortIndexSensor", "", params);
-            logMessage = "resource added successfully" + "\n";
-        }
-        ResourceContainerActivity.setMessageLog(logMessage);
-        msg = Message.obtain();
-        msg.what = 1;
-        resourceContainerActivityInstance.getHandler().sendMessage(msg);
-    }
-
-    // Add Resource Configuration to BMI bundle
-    public void addResourceConfigBMI() {
-
-        if (false == startBundleFlag) {
-            logMessage = "Bundle is not started" + "\n";
-        } else {
-            List<RCSBundleInfo> bundleList = containerInstance.listBundles();
-            List<String> bundleResources = containerInstance
-                    .listBundleResources("oic.bundle.BMISensor");
-
-            if (0 == bundleList.size()) {
-                logMessage = "No bundle found" + "\n";
-            } else if ((0 == bundleList.size())
-                    && (0 == bundleResources.size())) {
-                logMessage = "No bundle found" + "\n";
-            } else {
-                Map<String, String> params = new HashMap<String, String>();
-                params.put("resourceType", "oic.softsensor");
-                params.put("address",
-                        "http://192.168.0.2/api/newdeveloper/sensor/22");
-                containerInstance.addResourceConfig("oic.bundle.BMISensor", "",
-                        params);
-                logMessage = "resource added successfully" + "\n";
-            }
-        }
-        ResourceContainerActivity.setMessageLog(logMessage);
-        msg = Message.obtain();
-        msg.what = 1;
-        resourceContainerActivityInstance.getHandler().sendMessage(msg);
-    }
-
-    // Remove Resource Configuration from DI Bundle
-    public void removeResourceConfigDI() {
-
-        List<String> bundleResources = containerInstance
-                .listBundleResources("oic.bundle.discomfortIndexSensor");
-        if (bundleResources.size() >= 1) {
-            String element = bundleResources.get(0);
-            containerInstance.removeResourceConfig(
-                    "oic.bundle.discomfortIndexSensor", element);
-            Message msg;
-            logMessage = "resource removed successfully: \n" + element + "\n";
-            ResourceContainerActivity.setMessageLog(logMessage);
-            msg = Message.obtain();
-            msg.what = 1;
-            resourceContainerActivityInstance.getHandler().sendMessage(msg);
-        } else {
-            logMessage = "No resource to remove" + "\n";
-            ResourceContainerActivity.setMessageLog(logMessage);
-            msg = Message.obtain();
-            msg.what = 1;
-            resourceContainerActivityInstance.getHandler().sendMessage(msg);
-        }
-    }
-
-    // Remove Resource Configuration from BMI Bundle
-    public void removeResourceConfigBMI() {
-
-        List<String> bundleResources = containerInstance
-                .listBundleResources("oic.bundle.BMISensor");
-        if (bundleResources.size() >= 1) {
-            String element = bundleResources.get(0);
-            containerInstance.removeResourceConfig("oic.bundle.BMISensor",
-                    element);
-            Message msg;
-            logMessage = "resource removed successfully: \n" + element + "\n";
-            ResourceContainerActivity.setMessageLog(logMessage);
-            msg = Message.obtain();
-            msg.what = 1;
-            resourceContainerActivityInstance.getHandler().sendMessage(msg);
-        } else {
-            logMessage = "No resource to remove" + "\n";
-            ResourceContainerActivity.setMessageLog(logMessage);
-            msg = Message.obtain();
-            msg.what = 1;
-            resourceContainerActivityInstance.getHandler().sendMessage(msg);
-        }
-    }
-}
diff --git a/service/resource-encapsulation/examples/android/REServer/src/com/example/sampleserver/ResourceContainerActivity.java b/service/resource-encapsulation/examples/android/REServer/src/com/example/sampleserver/ResourceContainerActivity.java
deleted file mode 100644 (file)
index b252ded..0000000
+++ /dev/null
@@ -1,353 +0,0 @@
-/******************************************************************
- *
- * Copyright 2015 Samsung Electronics All Rights Reserved.
- *
- *
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- ******************************************************************/
-
-package com.example.sampleserver;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-
-import com.example.sampleresourceserver.*;
-
-import android.app.Activity;
-import android.content.Context;
-import android.graphics.Typeface;
-import android.os.Bundle;
-import android.os.Handler;
-import android.os.Message;
-import android.util.Log;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.view.View.OnClickListener;
-import android.widget.BaseExpandableListAdapter;
-import android.widget.Button;
-import android.widget.EditText;
-import android.widget.ExpandableListAdapter;
-import android.widget.ExpandableListView;
-import android.widget.ExpandableListView.OnChildClickListener;
-import android.widget.TextView;
-import android.widget.Toast;
-
-/**
- * Activity for handling user's selection on UI for Resource container APIs. &
- * for updating UI.
- */
-public class ResourceContainerActivity extends Activity {
-
-    private final String                     LOG_TAG = "[ReSample] "
-                                                             + this.getClass()
-                                                                     .getSimpleName();
-    private static ResourceContainerActivity resourceContainerActivityInstance;
-    private ResourceContainer                resourceContainerInstance;
-    private static String                    logMessage;
-
-    public ExpandableListAdapter             listAdapter;
-    public ExpandableListView                expListView;
-    public List<String>                      sensors;
-    public List<String>                      diApiList;
-    public List<String>                      bmiApiList;
-    HashMap<String, List<String>>            listChild;
-
-    private static Handler                   mHandler;
-    private Button                           startContainer;
-    private Button                           listBundles;
-    private static EditText                  logs;
-    private static String                    sdCardPath;
-
-    @Override
-    protected void onCreate(Bundle savedInstanceState) {
-
-        super.onCreate(savedInstanceState);
-        setContentView(R.layout.resource_container);
-        resourceContainerActivityInstance = this;
-        resourceContainerInstance = new ResourceContainer();
-
-        expListView = (ExpandableListView) findViewById(R.id.lvExp);
-        startContainer = (Button) findViewById(R.id.startContainer);
-        listBundles = (Button) findViewById(R.id.listBundles);
-        listBundles.setEnabled(false);
-        logs = (EditText) findViewById(R.id.log);
-
-        sensors = new ArrayList<String>();
-        diApiList = new ArrayList<String>();
-        bmiApiList = new ArrayList<String>();
-        listChild = new HashMap<String, List<String>>();
-
-        // Adding list items (header)
-        sensors.add("Discomfort Index Sensor");
-        sensors.add("BMI Sensor");
-
-        // Adding child data [discomfort Index sensor]
-        diApiList.add("1. List bundle resources");
-        diApiList.add("2. Add Resource");
-        diApiList.add("3. Remove Resource");
-
-        // Adding child data [BMI sensor]
-        bmiApiList.add("1. Add Bundle");
-        bmiApiList.add("2. Start Bundle");
-        bmiApiList.add("3. List bundle resources");
-        bmiApiList.add("4. Add Resource ");
-        bmiApiList.add("5. Remove Resource");
-        bmiApiList.add("6. Stop Bundle");
-        bmiApiList.add("7. Remove Bundle");
-
-        listChild.put(sensors.get(0), diApiList);
-        listChild.put(sensors.get(1), bmiApiList);
-        listAdapter = new ExpandableList(this, sensors, listChild);
-
-        // getting the sd card path
-        sdCardPath = this.getFilesDir().getPath();
-
-        // handler for updating the UI i.e. MessageLog (TextBox) & ListView
-        mHandler = new Handler() {
-            @Override
-            public void handleMessage(Message msg) {
-                switch (msg.what) {
-                    case 0:
-                        expListView.setAdapter(listAdapter);
-                        expListView.bringToFront();
-                        break;
-                    case 1:
-                        logs.setText("");
-                        logs.setText(logMessage);
-                        Log.i(LOG_TAG, logMessage);
-                        break;
-                    case 2:
-                        listAdapter = null;
-                        expListView.setAdapter(listAdapter);
-                        break;
-                }
-            }
-        };
-        setHandler(mHandler);
-
-        // StartContainer/stopContainer Button Listener
-        startContainer.setOnClickListener(new OnClickListener() {
-            @Override
-            public void onClick(View v) {
-
-                String text = (String) startContainer.getText();
-                if (text.contains("Start")) {
-                    resourceContainerInstance.startContainer(sdCardPath);
-                    listAdapter = new ExpandableList(ResourceContainerActivity
-                            .getResourceContainerActivityObj(), sensors,
-                            listChild);
-                    listBundles.setEnabled(true);
-                    startContainer.setText("Stop Container");
-                } else {
-                    resourceContainerInstance.stopContainer();
-                    startContainer.setText("Start Container");
-                    listBundles.setEnabled(false);
-                    Message msg;
-                    msg = Message.obtain();
-                    msg.what = 2;
-                    resourceContainerActivityInstance.getHandler().sendMessage(
-                            msg);
-                }
-            }
-        });
-
-        // List Bundles Button Listener
-        listBundles.setOnClickListener(new OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                resourceContainerInstance.listBundles();
-            }
-        });
-
-        // Listener for the expandable list
-        expListView.setOnChildClickListener(new OnChildClickListener() {
-
-            @Override
-            public boolean onChildClick(ExpandableListView parent, View v,
-                    int groupPosition, int childPosition, long id) {
-
-                if (0 == groupPosition) {
-                    if (childPosition == 0) {
-                        resourceContainerInstance.listBundleResourcesDI();
-                    } else if (childPosition == 1) {
-                        resourceContainerInstance.addResourceConfigDI();
-                    } else if (childPosition == 2) {
-                        resourceContainerInstance.removeResourceConfigDI();
-                    }
-                } else {
-                    if (childPosition == 0) {
-                        resourceContainerInstance.addBundleBMI();
-                    } else if (childPosition == 1) {
-                        resourceContainerInstance.startBundleBMI();
-                    } else if (childPosition == 2) {
-                        resourceContainerInstance.listBundleResourcesBMI();
-                    } else if (childPosition == 3) {
-                        resourceContainerInstance.addResourceConfigBMI();
-                    } else if (childPosition == 4) {
-                        resourceContainerInstance.removeResourceConfigBMI();
-                    } else if (childPosition == 5) {
-                        resourceContainerInstance.stopBundleBMI();
-                    } else if (childPosition == 6) {
-                        resourceContainerInstance.removeBundleBMI();
-                    }
-                }
-                return false;
-            }
-        });
-    }
-
-    @Override
-    public void onBackPressed() {
-        listAdapter = null;
-        expListView.setAdapter(listAdapter);
-        resourceContainerInstance.stopContainer();
-        ResourceContainer.startBundleFlag = false;
-        super.onBackPressed();
-    }
-
-    // class for handling expandable list items
-    public class ExpandableList extends BaseExpandableListAdapter {
-
-        private Context                       mContext;
-        private HashMap<String, List<String>> mListDataChild;
-        private List<String>                  mListDataHeader;
-
-        // constructor
-        public ExpandableList(Context context, List<String> dataHeader,
-                HashMap<String, List<String>> childData) {
-            this.mContext = context;
-            this.mListDataHeader = dataHeader;
-            this.mListDataChild = childData;
-        }
-
-        // get the child ID
-        @Override
-        public long getChildId(int grpPosition, int childPosition) {
-            return childPosition;
-        }
-
-        // get the child
-        @Override
-        public Object getChild(int grpPosition, int childPosititon) {
-            return this.mListDataChild.get(
-                    this.mListDataHeader.get(grpPosition)).get(childPosititon);
-        }
-
-        // get Group View
-        @Override
-        public View getGroupView(int grpPosition, boolean isExpandable,
-                View changeView, ViewGroup head) {
-            String mainHeading = (String) getGroup(grpPosition);
-            if (changeView == null) {
-                LayoutInflater flater;
-                flater = (LayoutInflater) this.mContext
-                        .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
-                changeView = flater.inflate(R.layout.group, null);
-            }
-
-            TextView listHeader = (TextView) changeView
-                    .findViewById(R.id.ListHead);
-            listHeader.setTypeface(null, Typeface.BOLD);
-            listHeader.setText(mainHeading);
-            return changeView;
-        }
-
-        // get Children count
-        @Override
-        public int getChildrenCount(int grpPosition) {
-            int count = this.mListDataChild.get(
-                    this.mListDataHeader.get(grpPosition)).size();
-            return count;
-        }
-
-        // Get Group
-        @Override
-        public Object getGroup(int grpPosition) {
-            return this.mListDataHeader.get(grpPosition);
-        }
-
-        // get Group size
-        @Override
-        public int getGroupCount() {
-            int size = this.mListDataHeader.size();
-            return size;
-        }
-
-        // get Group ID
-        @Override
-        public long getGroupId(int grpPosition) {
-            return grpPosition;
-        }
-
-        // get Group View
-        @Override
-        public View getChildView(int grpPosition, final int childPosition,
-                boolean isLastItem, View changeView, ViewGroup head) {
-
-            final String innerText = (String) getChild(grpPosition,
-                    childPosition);
-
-            if (changeView == null) {
-                LayoutInflater flater = (LayoutInflater) this.mContext
-                        .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
-                changeView = flater.inflate(R.layout.list_item, null);
-            }
-
-            TextView textListChild = (TextView) changeView
-                    .findViewById(R.id.listItem);
-
-            textListChild.setText(innerText);
-            return changeView;
-        }
-
-        // To check whether child is selectable or not
-        @Override
-        public boolean isChildSelectable(int grpPosition, int childPosition) {
-            return true;
-        }
-
-        // To check the stable IDs
-        @Override
-        public boolean hasStableIds() {
-            return false;
-        }
-    }
-
-    // ****Utility Functions*****//
-
-    public static void setMessageLog(String message) {
-        logMessage = message;
-    }
-
-    public static ResourceContainerActivity getResourceContainerActivityObj() {
-        return resourceContainerActivityInstance;
-    }
-
-    public Handler getHandler() {
-        return mHandler;
-    }
-
-    public void setHandler(Handler mHandler) {
-        ResourceContainerActivity.mHandler = mHandler;
-    }
-
-    public void displayToastMessage(String message) {
-        Toast toast = Toast.makeText(this, message, Toast.LENGTH_SHORT);
-        toast.show();
-        Log.i(LOG_TAG, message);
-    }
-}
diff --git a/service/resource-encapsulation/examples/android/REServer/src/com/example/sampleserver/ServerBuilder.java b/service/resource-encapsulation/examples/android/REServer/src/com/example/sampleserver/ServerBuilder.java
deleted file mode 100644 (file)
index f12ec69..0000000
+++ /dev/null
@@ -1,200 +0,0 @@
-/******************************************************************
- *
- * Copyright 2015 Samsung Electronics All Rights Reserved.
- *
- *
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- ******************************************************************/
-
-package com.example.sampleserver;
-
-import org.iotivity.ResourceEncapsulation.common.RCSException;
-import org.iotivity.ResourceEncapsulation.common.RCSResourceAttributes;
-import org.iotivity.ResourceEncapsulation.server.Builder;
-import org.iotivity.ResourceEncapsulation.server.RCSResourceObject.*;
-import org.iotivity.ResourceEncapsulation.server.RCSGetResponse;
-import org.iotivity.ResourceEncapsulation.server.RCSRequest;
-import org.iotivity.ResourceEncapsulation.server.RCSResourceObject;
-import org.iotivity.ResourceEncapsulation.server.RCSSetResponse;
-
-import android.os.Message;
-
-public class ServerBuilder {
-
-    public static RCSResourceObject           rcsResourceObject;
-    private static ServerBuilderDevActivity   serverBuilderDevActivityInstance;
-    private static String                     logMessage;
-    private static Message                    msg;
-
-    private final GetRequestHandler           getRequestListener;
-    private final SetRequestHandler           setRequestListener;
-    private final AddAttributeUpdatedListener attributeUpdatedListener;
-
-    // constructor
-    public ServerBuilder() {
-        serverBuilderDevActivityInstance = ServerBuilderDevActivity
-                .getServerBuilderDevActivity();
-        getRequestListener = new GetRequestHandler();
-        setRequestListener = new SetRequestHandler();
-        attributeUpdatedListener = new AddAttributeUpdatedListener();
-    }
-
-    // Create Resource
-    public void createResource() {
-
-        Builder builderObject = new Builder("/a/TempSensor",
-                "core.TemperatureSensor", "oic.if.");
-        builderObject.setDiscoverable(true);
-        builderObject.setObservable(true);
-
-        RCSResourceAttributes attr = new RCSResourceAttributes();
-        try {
-            attr.setValueInt("Temperature", 10);
-        } catch (RCSException e) {
-            e.printStackTrace();
-        }
-        builderObject.setAttributes(attr);
-
-        try {
-            rcsResourceObject = builderObject.build();
-            rcsResourceObject
-                    .setSetRequestHandlerPolicy(SetRequestHandlerPolicy.ACCEPTANCE);
-        } catch (RCSException e) {
-            e.printStackTrace();
-        }
-    }
-
-    // Set Attribute
-    public void setAttribute(int value) {
-
-        rcsResourceObject.setAttribute("Temperature", value);
-        logMessage = "Attribute set successfully" + "\n";
-        logMessage += "Temperature : " + value;
-
-        serverBuilderDevActivityInstance.setMessageLog(logMessage);
-        msg = Message.obtain();
-        msg.what = 0;
-        serverBuilderDevActivityInstance.getHandler().sendMessage(msg);
-    }
-
-    // Set Get Request Listener
-    public void setGetRequestListener() {
-        rcsResourceObject.setGetRequestListener(getRequestListener);
-        rcsResourceObject.setGetRequestHandler();
-        logMessage = "Get Handler set successfully." + "\n";
-
-        serverBuilderDevActivityInstance.setMessageLog(logMessage);
-        msg = Message.obtain();
-        msg.what = 0;
-        serverBuilderDevActivityInstance.getHandler().sendMessage(msg);
-    }
-
-    // Set Set Request Listener
-    public void setSetRequestListener() {
-        rcsResourceObject.setSetRequestListener(setRequestListener);
-        rcsResourceObject.setSetRequestHandler();
-        logMessage = "Set Handler set successfully." + "\n";
-
-        serverBuilderDevActivityInstance.setMessageLog(logMessage);
-        msg = Message.obtain();
-        msg.what = 0;
-        serverBuilderDevActivityInstance.getHandler().sendMessage(msg);
-    }
-
-    // Set Attribute Updated Listener
-    public void setAttributeUpdatedListener() {
-
-        rcsResourceObject.setAttributeUpdatedListener(attributeUpdatedListener);
-        rcsResourceObject.addAttributeUpdatedListener("Temperature");
-        logMessage = "Attribte updated listener set successfully." + "\n";
-
-        serverBuilderDevActivityInstance.setMessageLog(logMessage);
-        msg = Message.obtain();
-        msg.what = 0;
-        serverBuilderDevActivityInstance.getHandler().sendMessage(msg);
-    }
-
-    // Remove Attribute Updated Listener
-    public void removeAttributeUpdatedListener() {
-
-        rcsResourceObject.removeAttributeUpdatedListener("Temperature");
-        logMessage = "Attribte updated listener removed successfully." + "\n";
-
-        serverBuilderDevActivityInstance.setMessageLog(logMessage);
-        msg = Message.obtain();
-        msg.what = 0;
-        serverBuilderDevActivityInstance.getHandler().sendMessage(msg);
-    }
-
-    /**
-     * Listener for receiving Get Request and for Sending Response
-     */
-    private class GetRequestHandler implements IGetRequestHandler {
-
-        @Override
-        public RCSGetResponse onGetRequest(RCSRequest request,
-                RCSResourceAttributes attributes) {
-
-            logMessage = "Got a Get request from client sending dafault response \n"
-                    + "URI : " + request.getResourceUri() + "\n";
-            serverBuilderDevActivityInstance.setMessageLog(logMessage);
-            msg = Message.obtain();
-            msg.what = 0;
-            serverBuilderDevActivityInstance.getHandler().sendMessage(msg);
-
-            RCSGetResponse object = RCSGetResponse.defaultAction();
-
-            return object;
-        }
-    };
-
-    /**
-     * Listener for receiving Set Request and for Sending Response
-     */
-    private class SetRequestHandler implements ISetRequestHandler {
-
-        @Override
-        public RCSSetResponse onSetRequest(RCSRequest request,
-                RCSResourceAttributes attributes) {
-
-            logMessage = "Got a Set request from client sending dafault response"
-                    + "\n" + "URI : " + request.getResourceUri() + "\n";
-            serverBuilderDevActivityInstance.setMessageLog(logMessage);
-            msg = Message.obtain();
-            msg.what = 0;
-            serverBuilderDevActivityInstance.getHandler().sendMessage(msg);
-            RCSSetResponse object = RCSSetResponse.defaultAction();
-            return object;
-        }
-    };
-
-    /**
-     * Listener for receiving Updated Attribute
-     */
-    private class AddAttributeUpdatedListener implements
-            IAttributeUpdatedListener {
-        @Override
-        public void onAttributeUpdate(String oldValue, String newValue) {
-
-            logMessage = "attributed updated" + "\n";
-            logMessage += "oldValue : " + oldValue + "\n";
-            logMessage += "newValue : " + newValue + "\n";
-            serverBuilderDevActivityInstance.setMessageLog(logMessage);
-            msg = Message.obtain();
-            msg.what = 0;
-            serverBuilderDevActivityInstance.getHandler().sendMessage(msg);
-        }
-    };
-}
diff --git a/service/resource-encapsulation/examples/android/REServer/src/com/example/sampleserver/ServerBuilderActivity.java b/service/resource-encapsulation/examples/android/REServer/src/com/example/sampleserver/ServerBuilderActivity.java
deleted file mode 100644 (file)
index 77d1107..0000000
+++ /dev/null
@@ -1,89 +0,0 @@
-/******************************************************************
- *
- * Copyright 2015 Samsung Electronics All Rights Reserved.
- *
- *
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- ******************************************************************/
-
-package com.example.sampleserver;
-
-import java.util.ArrayList;
-
-import com.example.sampleresourceserver.R;
-
-import android.app.Activity;
-import android.content.Intent;
-import android.os.Bundle;
-import android.view.View;
-import android.widget.AdapterView;
-import android.widget.ArrayAdapter;
-import android.widget.ListView;
-import android.widget.AdapterView.OnItemClickListener;
-
-/**
- * Starting Activity for ServerBuilder and redirect to ServerBuilderAutoActivity
- * or ServerBuilderDevActivity as per user's selection
- */
-public class ServerBuilderActivity extends Activity {
-
-    private static ServerBuilderActivity activityObj;
-    private ArrayAdapter<String>         apis;
-    private ArrayList<String>            apisList;
-    private ListView                     list;
-
-    @Override
-    protected void onCreate(Bundle savedInstanceState) {
-
-        super.onCreate(savedInstanceState);
-        setContentView(R.layout.server_builder);
-        activityObj = this;
-        list = (ListView) findViewById(R.id.buildeList);
-        apisList = new ArrayList<String>();
-
-        // adding the item to list that will be displayed on the UI.
-        apisList.add("Auto Control for created Resource");
-        apisList.add("Developer Control for created Resource");
-        apis = new ArrayAdapter<String>(activityObj,
-                android.R.layout.simple_list_item_1, apisList);
-        list.setAdapter(apis);
-
-        // handling user's selection on the UI
-        list.setOnItemClickListener(new OnItemClickListener() {
-            @Override
-            public void onItemClick(AdapterView<?> parent, View view,
-                    int position, long id) {
-
-                if (position == 0) {
-
-                    Intent intent = new Intent(activityObj,
-                            ServerBuilderAutoActivity.class);
-                    startActivity(intent);
-                }
-                if (position == 1) {
-
-                    Intent intent = new Intent(activityObj,
-                            ServerBuilderDevActivity.class);
-                    startActivity(intent);
-                }
-            }
-        });
-    }
-
-    @Override
-    public void onBackPressed() {
-        super.onBackPressed();
-    }
-}
diff --git a/service/resource-encapsulation/examples/android/REServer/src/com/example/sampleserver/ServerBuilderAutoActivity.java b/service/resource-encapsulation/examples/android/REServer/src/com/example/sampleserver/ServerBuilderAutoActivity.java
deleted file mode 100644 (file)
index e95e470..0000000
+++ /dev/null
@@ -1,193 +0,0 @@
-/******************************************************************
- *
- * Copyright 2015 Samsung Electronics All Rights Reserved.
- *
- *
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- ******************************************************************/
-
-package com.example.sampleserver;
-
-import java.util.ArrayList;
-
-import android.app.Activity;
-import android.app.Dialog;
-import android.content.Context;
-import android.os.Bundle;
-import android.os.Handler;
-import android.os.Message;
-import android.util.Log;
-import android.view.View;
-import android.view.View.OnClickListener;
-import android.widget.AdapterView;
-import android.widget.ArrayAdapter;
-import android.widget.Button;
-import android.widget.EditText;
-import android.widget.ListView;
-import android.widget.Toast;
-import android.widget.AdapterView.OnItemClickListener;
-import com.example.sampleresourceserver.R;
-
-/**
- * Activity for handling user's selection on UI for changing temperature. & for
- * updating UI.
- */
-public class ServerBuilderAutoActivity extends Activity {
-
-    private static ServerBuilderAutoActivity activityObj;
-    private ArrayAdapter<String>             apis;
-    private ArrayList<String>                apisList;
-    private final String                     LOG_TAG = "[ReSample] "
-                                                             + this.getClass()
-                                                                     .getSimpleName();
-    private ListView                         list;
-    private EditText                         logs;
-    private static Handler                   mHandler;
-    public static Context                    mcontext;
-    private static String                    logMessage;
-
-    @Override
-    protected void onCreate(Bundle savedInstanceState) {
-
-        super.onCreate(savedInstanceState);
-        setContentView(R.layout.server_builder_auto);
-
-        logs = (EditText) findViewById(R.id.Autolog);
-        activityObj = this;
-        mcontext = this;
-
-        list = (ListView) findViewById(R.id.serverBuilderAutoList);
-        apisList = new ArrayList<String>();
-
-        // adding the item to list that will be displayed on the UI.
-        apisList.add("Set Temperature");
-
-        apis = new ArrayAdapter<String>(activityObj,
-                android.R.layout.simple_list_item_1, apisList);
-        list.setAdapter(apis);
-
-        // handling user's selection on the UI
-        list.setOnItemClickListener(new OnItemClickListener() {
-            @Override
-            public void onItemClick(AdapterView<?> parent, View view,
-                    int position, long id) {
-
-                if (position == 0) {
-                    userInputDialog();
-                }
-            }
-        });
-
-        // handler for updating the UI i.e. MessageLog (TextBox) & ListView
-        mHandler = new Handler() {
-            @Override
-            public void handleMessage(Message msg) {
-                switch (msg.what) {
-                    case 0:
-                        logs.setText("");
-                        logs.setText(logMessage);
-                        Log.i(LOG_TAG, logMessage);
-                        break;
-                }
-            }
-        };
-        setHandler(mHandler);
-    }
-
-    // Dialog for taking user input for setting the attribute [Temperature]
-    // value
-    private void userInputDialog() {
-
-        if (null == ServerBuilder.rcsResourceObject) {
-            displayToastMessage("Resource Object is NULL");
-        } else {
-            final Dialog dialog = new Dialog(mcontext);
-            dialog.setContentView(R.layout.userinputfortemperaturevalue);
-            dialog.setTitle("Enter the Temperature Value");
-
-            dialog.setCancelable(false);
-            dialog.show();
-            Button ok = (Button) dialog.findViewById(R.id.ok);
-            Button cancel = (Button) dialog.findViewById(R.id.cancel);
-
-            ok.setOnClickListener(new OnClickListener() {
-                @Override
-                public void onClick(View v) {
-
-                    EditText temperatureValue = (EditText) dialog
-                            .findViewById(R.id.attributeValue);
-                    String value = temperatureValue.getText().toString();
-                    if (value.equalsIgnoreCase("")) {
-                        String toastmessage = "Please enter the Temperature Value";
-                        displayToastMessage(toastmessage);
-                    } else {
-                        dialog.dismiss();
-                        int val = Integer.parseInt(value);
-
-                        setAttribute(val);
-                    }
-                }
-            });
-            cancel.setOnClickListener(new OnClickListener() {
-                @Override
-                public void onClick(View v) {
-                    dialog.dismiss();
-                }
-            });
-        }
-    }
-
-    // Set the attribute value as per user's selection on the UI
-    public void setAttribute(int value) {
-
-        ServerBuilder.rcsResourceObject.setAttribute("Temperature", value);
-        logMessage = "Attribute set successfully" + "\n";
-        logMessage += "Temperature : " + value;
-        Message msg;
-        ServerBuilderAutoActivity.setMessageLog(logMessage);
-        msg = Message.obtain();
-        msg.what = 0;
-        this.getHandler().sendMessage(msg);
-    }
-
-    @Override
-    public void onBackPressed() {
-        super.onBackPressed();
-    }
-
-    // ****Utility Functions*****//
-
-    public static ServerBuilderAutoActivity getServerBuilderAutoActivity() {
-        return activityObj;
-    }
-
-    public static void setMessageLog(String message) {
-        logMessage = message;
-    }
-
-    public Handler getHandler() {
-        return mHandler;
-    }
-
-    public void setHandler(Handler mHandler) {
-        ServerBuilderAutoActivity.mHandler = mHandler;
-    }
-
-    public void displayToastMessage(String message) {
-        Toast toast = Toast.makeText(this, message, Toast.LENGTH_SHORT);
-        toast.show();
-        Log.i(LOG_TAG, message);
-    }
-}
diff --git a/service/resource-encapsulation/examples/android/REServer/src/com/example/sampleserver/ServerBuilderDevActivity.java b/service/resource-encapsulation/examples/android/REServer/src/com/example/sampleserver/ServerBuilderDevActivity.java
deleted file mode 100644 (file)
index f552791..0000000
+++ /dev/null
@@ -1,224 +0,0 @@
-/******************************************************************
- *
- * Copyright 2015 Samsung Electronics All Rights Reserved.
- *
- *
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- ******************************************************************/
-
-package com.example.sampleserver;
-
-import java.util.ArrayList;
-
-import android.app.Activity;
-import android.app.Dialog;
-import android.content.Context;
-import android.os.Bundle;
-import android.os.Handler;
-import android.os.Message;
-import android.util.Log;
-import android.view.View;
-import android.view.View.OnClickListener;
-import android.widget.AdapterView;
-import android.widget.ArrayAdapter;
-import android.widget.Button;
-import android.widget.EditText;
-import android.widget.ListView;
-import android.widget.Toast;
-import android.widget.AdapterView.OnItemClickListener;
-
-import com.example.sampleresourceserver.R;
-
-/**
- * Activity for handling user's selection on UI & for updating UI.
- */
-public class ServerBuilderDevActivity extends Activity {
-
-    private static ServerBuilderDevActivity activityObj;
-    private ArrayAdapter<String>            apis;
-    private ArrayList<String>               apisList;
-    private final String                    LOG_TAG                         = "[ReSample] "
-                                                                                    + this.getClass()
-                                                                                            .getSimpleName();
-    private ListView                        list;
-    private EditText                        logs;
-    private static Handler                  mHandler;
-    public static Context                   mcontext;
-    private static String                   logMessage;
-    private ServerBuilder                   builderObj;
-
-    public static boolean                   getHandlerFlag                  = false;
-    public static boolean                   setHandlerFlag                  = false;
-    public static boolean                   setAttributeUpdatedListenerFlag = false;
-
-    @Override
-    protected void onCreate(Bundle savedInstanceState) {
-
-        super.onCreate(savedInstanceState);
-        setContentView(R.layout.server_builder_dev);
-
-        logs = (EditText) findViewById(R.id.devLog);
-        logs.setText("Resource Created Successfully");
-
-        activityObj = this;
-        mcontext = this;
-        builderObj = new ServerBuilder();
-
-        list = (ListView) findViewById(R.id.serverBuilderDevList);
-        apisList = new ArrayList<String>();
-
-        // adding the item to list that will be displayed on the UI.
-        apisList.add("Set Temperature");
-        apisList.add("Set Get Request Handler");
-        apisList.add("Set Set Request Handler");
-        apisList.add("Set Attribute Updated Listener");
-        apisList.add("Remove Attribute Updated Listener");
-
-        apis = new ArrayAdapter<String>(activityObj,
-                android.R.layout.simple_list_item_1, apisList);
-        list.setAdapter(apis);
-
-        // handling user's selection on the UI
-        list.setOnItemClickListener(new OnItemClickListener() {
-            @Override
-            public void onItemClick(AdapterView<?> parent, View view,
-                    int position, long id) {
-
-                if (position == 0) {
-                    userInputDialog();
-                }
-                if (position == 1) {
-                    if (getHandlerFlag == true) {
-                        displayToastMessage("GetRequest Handle already set");
-                    } else {
-                        builderObj.setGetRequestListener();
-                        getHandlerFlag = true;
-                    }
-                }
-                if (position == 2) {
-                    if (setHandlerFlag == true) {
-                        displayToastMessage("GetRequest Handle already set");
-                    } else {
-                        builderObj.setSetRequestListener();
-                        setHandlerFlag = true;
-                    }
-                }
-                if (position == 3) {
-                    if (setAttributeUpdatedListenerFlag == true) {
-                        displayToastMessage("Attribute Updated Listener already set");
-                    } else {
-                        builderObj.setAttributeUpdatedListener();
-                        setAttributeUpdatedListenerFlag = true;
-                    }
-                }
-                if (position == 4) {
-                    if (setAttributeUpdatedListenerFlag == false) {
-                        displayToastMessage("Attribute Updated Listener is not set");
-                    } else {
-                        builderObj.removeAttributeUpdatedListener();
-                        setAttributeUpdatedListenerFlag = false;
-                    }
-                }
-            }
-        });
-
-        // handler for updating the UI i.e. MessageLog (TextBox) & ListView
-        mHandler = new Handler() {
-            @Override
-            public void handleMessage(Message msg) {
-                switch (msg.what) {
-                    case 0:
-                        logs.setText("");
-                        logs.setText(logMessage);
-                        Log.i(LOG_TAG, logMessage);
-                        break;
-                }
-            }
-        };
-        setHandler(mHandler);
-    }
-
-    // Dialog for taking user input for setting the attribute [Temperature]
-    // value
-    private void userInputDialog() {
-
-        if (null == builderObj) {
-            displayToastMessage("Resource Object is NULL");
-        } else {
-            final Dialog dialog = new Dialog(mcontext);
-            dialog.setContentView(R.layout.userinputfortemperaturevalue);
-            dialog.setTitle("Enter the Temperature Value");
-
-            dialog.setCancelable(false);
-            dialog.show();
-            Button ok = (Button) dialog.findViewById(R.id.ok);
-            Button cancel = (Button) dialog.findViewById(R.id.cancel);
-
-            ok.setOnClickListener(new OnClickListener() {
-                @Override
-                public void onClick(View v) {
-
-                    EditText temperatureValue = (EditText) dialog
-                            .findViewById(R.id.attributeValue);
-                    String value = temperatureValue.getText().toString();
-                    if (value.equalsIgnoreCase("")) {
-                        String toastmessage = "Please enter the Temperature Value";
-                        displayToastMessage(toastmessage);
-                    } else {
-                        dialog.dismiss();
-                        int val = Integer.parseInt(value);
-
-                        builderObj.setAttribute(val);
-                    }
-                }
-            });
-            cancel.setOnClickListener(new OnClickListener() {
-                @Override
-                public void onClick(View v) {
-                    dialog.dismiss();
-                }
-            });
-        }
-    }
-
-    @Override
-    public void onBackPressed() {
-        super.onBackPressed();
-    }
-
-    // ****Utility Functions*****//
-
-    public void setMessageLog(String message) {
-        logMessage = message;
-    }
-
-    public static ServerBuilderDevActivity getServerBuilderDevActivity() {
-        return activityObj;
-    }
-
-    public Handler getHandler() {
-        return mHandler;
-    }
-
-    public void setHandler(Handler mHandler) {
-        ServerBuilderDevActivity.mHandler = mHandler;
-    }
-
-    public void displayToastMessage(String message) {
-        Toast toast = Toast.makeText(this, message, Toast.LENGTH_SHORT);
-        toast.show();
-        Log.i(LOG_TAG, message);
-    }
-}