Update build scons for notificaiton android sample.
[platform/upstream/iotivity.git] / service / notification / examples / android / NotiConsumerExample / app / src / main / java / com / sec / noticonsumerexample / MainActivity.java
index 7d9e463..f332ac2 100755 (executable)
 \r
 package com.sec.noticonsumerexample;\r
 \r
-import android.app.Notification;\r
-import android.app.NotificationManager;\r
-import android.content.Intent;\r
 import android.os.Bundle;\r
 import android.os.Handler;\r
 import android.os.Message;\r
-import android.support.v7.app.AppCompatActivity;\r
+import android.app.Activity;\r
 import android.util.Log;\r
 import android.view.View;\r
 import android.widget.Button;\r
-import android.widget.EditText;\r
 import android.widget.TextView;\r
 import android.widget.Toast;\r
 \r
 import org.iotivity.service.ns.common.TopicsList;\r
+import org.iotivity.service.ns.common.Topic;\r
 \r
-public class MainActivity extends AppCompatActivity\r
+public class MainActivity extends Activity\r
 {\r
     private final String TAG = "NS_MAIN_ACTIVITY";\r
 \r
@@ -44,12 +41,12 @@ public class MainActivity extends AppCompatActivity
     private Button btnEnableRemoteService;\r
     private Button btnGetTopicList;\r
     private Button btnUpdateTopicList;\r
+    private Button btnClearLog;\r
     private static TextView TvLog;\r
 \r
     private boolean isStarted = false;\r
-    private String consumerId;\r
 \r
-    private ConsumerProxy mConsumerProxy = null;\r
+    private ConsumerSample mConsumerSample = null;\r
 \r
     private static final int PROVIDER_DISCOVERED = 1;\r
     private static final int STATE_CHANGED = 2;\r
@@ -100,6 +97,15 @@ public class MainActivity extends AppCompatActivity
                         }\r
                         break;\r
                     }\r
+                case TOPICS_RECEIVED:\r
+                    {\r
+                        String topicList = (String) msg.obj;\r
+                        if (topicList != null)\r
+                        {\r
+                            TvLog.append( topicList + "\n");\r
+                        }\r
+                        break;\r
+                    }\r
                 default:\r
                     break;\r
             }\r
@@ -130,6 +136,7 @@ public class MainActivity extends AppCompatActivity
         btnEnableRemoteService = (Button) findViewById(R.id.BtnEnableRemoteService);\r
         btnGetTopicList = (Button) findViewById(R.id.BtnGetTopicList);\r
         btnUpdateTopicList = (Button) findViewById(R.id.BtnUpdateTopicList);\r
+        btnClearLog = (Button) findViewById(R.id.BtnClearLog);\r
 \r
         TvLog = (TextView) findViewById(R.id.TvLog);\r
 \r
@@ -139,24 +146,20 @@ public class MainActivity extends AppCompatActivity
         btnEnableRemoteService.setOnClickListener(mClickListener);\r
         btnGetTopicList.setOnClickListener(mClickListener);\r
         btnUpdateTopicList.setOnClickListener(mClickListener);\r
+        btnClearLog.setOnClickListener(mClickListener);\r
 \r
-        mConsumerProxy = new ConsumerProxy(getApplicationContext());\r
-        mConsumerProxy.setHandler(mHandler);\r
+        mConsumerSample = new ConsumerSample(getApplicationContext());\r
+        mConsumerSample.setHandler(mHandler);\r
     }\r
 \r
     @Override\r
     protected void onDestroy()\r
     {\r
         if (isStarted)\r
-            mConsumerProxy.stopNotificationConsumer();\r
+            mConsumerSample.stopNotificationConsumer();\r
         super.onDestroy();\r
     }\r
 \r
-    public ConsumerProxy getProviderProxy()\r
-    {\r
-        return mConsumerProxy;\r
-    }\r
-\r
     Button.OnClickListener mClickListener = new View.OnClickListener()\r
     {\r
         public void onClick(View v)\r
@@ -165,84 +168,103 @@ public class MainActivity extends AppCompatActivity
             {\r
                 case R.id.BtnStart:\r
                     {\r
-                        if (isStarted == false)\r
+                        if (!isStarted)\r
                         {\r
                             Log.i(TAG, "Start NS Consumer Service");\r
 \r
                             TvLog.setText("Start NS-Consumer\n");\r
-                            mConsumerProxy.startNotificationConsumer();\r
+                            mConsumerSample.startNotificationConsumer();\r
                             isStarted = true;\r
                         }\r
                         else\r
                         {\r
-                            Log.e(TAG, "NS Consumer Service had already started");\r
+                            Log.e(TAG, "NS Consumer Service has already started");\r
+                            showToast("Error : Service has already started");\r
                         }\r
                     }\r
                     break;\r
 \r
                 case R.id.BtnStop:\r
                     {\r
-                        if (isStarted == false)\r
+                        if (!isStarted)\r
                         {\r
                             Log.e(TAG, "Fail to stop service. Service has not been started");\r
+                            showToast("Error : Service has not been started");\r
                             break;\r
                         }\r
                         TvLog.append("Stop NS-Consumer\n");\r
-                        mConsumerProxy.stopNotificationConsumer();\r
+                        mConsumerSample.stopNotificationConsumer();\r
                         isStarted = false;\r
                     }\r
                     break;\r
                 case R.id.BtnRescan:\r
                     {\r
-                        if (isStarted == false)\r
+                        if (!isStarted)\r
                         {\r
                             Log.e(TAG, "Fail to rescan. Service has not been started");\r
+                            showToast("Error : Service has not been started");\r
                             break;\r
                         }\r
-\r
                         TvLog.append("Rescan NS-Consumer\n");\r
-                        mConsumerProxy.rescanProvider();\r
+                        mConsumerSample.rescanProvider();\r
                     }\r
                     break;\r
                 case R.id.BtnEnableRemoteService:\r
                     {\r
-                        if (isStarted == false)\r
+                        if (!isStarted)\r
                         {\r
                             Log.e(TAG, "Fail to Enable RemoteService. Service has not been started");\r
+                            showToast("Error : Service has not been started");\r
                             break;\r
                         }\r
                         TvLog.append("EnableRemoteService NS-Consumer\n");\r
 \r
                         //TODO: Update to read the serverAddress from UI\r
                         String serverAddress = new String();\r
-                        mConsumerProxy.enableRemoteService(serverAddress);\r
+                        mConsumerSample.enableRemoteService(serverAddress);\r
                     }\r
                     break;\r
                 case R.id.BtnGetTopicList:\r
                     {\r
-                        if (isStarted == false)\r
+                        if (!isStarted)\r
                         {\r
                             Log.e(TAG, "Fail to GetTopicList. Service has not been started");\r
+                            showToast("Error : Service has not been started");\r
                             break;\r
                         }\r
                         TvLog.append("GetTopicList NS-Consumer\n");\r
-                        mConsumerProxy.getTopicsList();\r
+                        mConsumerSample.getTopicsList();\r
                     }\r
                     break;\r
                 case R.id.BtnUpdateTopicList:\r
                     {\r
-                        if (isStarted == false)\r
+                        if (!isStarted)\r
                         {\r
                             Log.e(TAG, "Fail to UpdateTopicList. Service has not been started");\r
+                            showToast("Error : Service has not been started");\r
+                            break;\r
+                        }\r
+                        if(mConsumerSample.getAcceptor())\r
+                        {\r
+                            Log.e(TAG, "Operation Not Allowed. ProviderService Acceptor is not Consumer");\r
+                            showToast("Operation Not Allowed. ProviderService Acceptor is not Consumer");\r
                             break;\r
                         }\r
                         TvLog.append("UpdateTopicList NS-Consumer\n");\r
 \r
-                        //TODO: Update to read the TopicsList from UI\r
-                        TopicsList topicsList = new TopicsList();\r
-                        mConsumerProxy.updateTopicList(topicsList);\r
+                        TopicsList topicList = new TopicsList();\r
+                        topicList.addTopic("OCF_TOPIC1", Topic.TopicState.SUBSCRIBED);\r
+                        topicList.addTopic("OCF_TOPIC2", Topic.TopicState.SUBSCRIBED);\r
+                        topicList.addTopic("OCF_TOPIC3", Topic.TopicState.UNSUBSCRIBED);\r
+\r
+                        mConsumerSample.updateTopicList(topicList);\r
                     }\r
                     break;\r
+                case R.id.BtnClearLog:\r
+                {\r
+                    TvLog.setText("");\r
+                }\r
+                break;\r
             }\r
         }\r
     };\r