From 1313b8e91e5e2a967a162327c4054756168de8c6 Mon Sep 17 00:00:00 2001 From: "nikhil.a" Date: Tue, 3 Jan 2017 16:07:51 +0530 Subject: [PATCH] [IOT-1703] Add UI support in notification android samples to take cloud login details - Added dialog box support to take cloud signUp , signIn and other details from UI. - Proper allignment of braces and other minor formatting. Patch-3 : Removed fixed strings Patch-4 : Modified callback listener name Change-Id: I75d292c4236dc1da7e7c822a5cd6340b8bb77b44 Signed-off-by: nikhil.a Reviewed-on: https://gerrit.iotivity.org/gerrit/15877 Tested-by: jenkins-iotivity Reviewed-by: jaesick shin Reviewed-by: Uze Choi --- .../org/iotivity/service/ns/consumer/Provider.java | 16 +- .../main/jni/consumer/JniNotificationConsumer.h | 2 +- .../ns/sample/consumer/ExampleUnitTest.java | 364 ++++++-------- .../ns/sample/consumer/ProviderSimulator.java | 34 +- .../service/ns/sample/consumer/ConsumerSample.java | 230 ++++----- .../service/ns/sample/consumer/LoginActivity.java | 100 ++-- .../service/ns/sample/consumer/MainActivity.java | 537 ++++++++++++--------- .../app/src/main/res/layout/dialog_auth.xml | 68 +++ .../app/src/main/res/layout/dialog_entry.xml | 39 ++ .../app/src/main/res/layout/dialog_mq.xml | 68 +++ .../app/src/main/res/values/strings.xml | 9 +- .../ns/sample/provider/ConsumerSimulator.java | 55 +-- .../ns/sample/provider/ExampleUnitTest.java | 334 +++++-------- .../service/ns/sample/provider/LoginActivity.java | 95 ++-- .../service/ns/sample/provider/MainActivity.java | 397 +++++++++------ .../service/ns/sample/provider/NotiListener.java | 47 +- .../service/ns/sample/provider/ProviderSample.java | 187 ++++--- .../app/src/main/res/layout/dialog_auth.xml | 68 +++ .../app/src/main/res/layout/dialog_entry.xml | 39 ++ .../app/src/main/res/layout/dialog_mq.xml | 68 +++ .../app/src/main/res/values/strings.xml | 4 + 21 files changed, 1558 insertions(+), 1203 deletions(-) create mode 100644 service/notification/examples/android/NotiConsumerExample/app/src/main/res/layout/dialog_auth.xml create mode 100644 service/notification/examples/android/NotiConsumerExample/app/src/main/res/layout/dialog_entry.xml create mode 100644 service/notification/examples/android/NotiConsumerExample/app/src/main/res/layout/dialog_mq.xml create mode 100644 service/notification/examples/android/NotiProviderExample/app/src/main/res/layout/dialog_auth.xml create mode 100644 service/notification/examples/android/NotiProviderExample/app/src/main/res/layout/dialog_entry.xml create mode 100644 service/notification/examples/android/NotiProviderExample/app/src/main/res/layout/dialog_mq.xml diff --git a/service/notification/android/notification-service/src/main/java/org/iotivity/service/ns/consumer/Provider.java b/service/notification/android/notification-service/src/main/java/org/iotivity/service/ns/consumer/Provider.java index 517c124..39b51d3 100755 --- a/service/notification/android/notification-service/src/main/java/org/iotivity/service/ns/consumer/Provider.java +++ b/service/notification/android/notification-service/src/main/java/org/iotivity/service/ns/consumer/Provider.java @@ -134,11 +134,11 @@ public class Provider { * OnSyncInfoReceivedListner callback Interface */ public void setListener(OnProviderStateListener onProviderStateListener, - OnMessageReceivedListner onMessageReceivedListner, - OnSyncInfoReceivedListner onSyncInfoReceivedListner) + OnMessageReceivedListener onMessageReceivedListener, + OnSyncInfoReceivedListener onSyncInfoReceivedListener) throws NSException { - nativeSetListener(onProviderStateListener, onMessageReceivedListner, - onSyncInfoReceivedListner); + nativeSetListener(onProviderStateListener, onMessageReceivedListener, + onSyncInfoReceivedListener); } /** @@ -171,7 +171,7 @@ public class Provider { /** * Interface to implement callback function to receive Notification Message */ - public interface OnMessageReceivedListner { + public interface OnMessageReceivedListener { /** * Callback function to receive Notification Message. @@ -186,7 +186,7 @@ public class Provider { * Interface to implement callback function to receive message read * synchronization */ - public interface OnSyncInfoReceivedListner { + public interface OnSyncInfoReceivedListener { /** * Callback function to receive message read synchronization @@ -204,8 +204,8 @@ public class Provider { private native void nativeSetListener( OnProviderStateListener onProviderStateListener, - OnMessageReceivedListner onMessageReceivedListner, - OnSyncInfoReceivedListner onSyncInfoReceivedListner) + OnMessageReceivedListener onMessageReceivedListener, + OnSyncInfoReceivedListener onSyncInfoReceivedListener) throws NSException; public native TopicsList nativeGetTopicList() throws NSException; diff --git a/service/notification/android/notification-service/src/main/jni/consumer/JniNotificationConsumer.h b/service/notification/android/notification-service/src/main/jni/consumer/JniNotificationConsumer.h index d04c626..020589e 100755 --- a/service/notification/android/notification-service/src/main/jni/consumer/JniNotificationConsumer.h +++ b/service/notification/android/notification-service/src/main/jni/consumer/JniNotificationConsumer.h @@ -89,7 +89,7 @@ JNIEXPORT void JNICALL Java_org_iotivity_service_ns_consumer_Provider_nativeSend /* * Class: org_iotivity_service_ns_consumer_Provider * Method: nativeSetListener - * Signature: (Lorg/iotivity/service/ns/consumer/Provider/OnProviderStateListener;Lorg/iotivity/service/ns/consumer/Provider/OnMessageReceivedListner;Lorg/iotivity/service/ns/consumer/Provider/OnSyncInfoReceivedListner;)V + * Signature: (Lorg/iotivity/service/ns/consumer/Provider/OnProviderStateListener;Lorg/iotivity/service/ns/consumer/Provider/OnMessageReceivedListener;Lorg/iotivity/service/ns/consumer/Provider/OnSyncInfoReceivedListener;)V */ JNIEXPORT void JNICALL Java_org_iotivity_service_ns_consumer_Provider_nativeSetListener (JNIEnv *, jobject, jobject, jobject, jobject); diff --git a/service/notification/examples/android/NotiConsumerExample/app/src/androidTest/java/org/iotivity/service/ns/sample/consumer/ExampleUnitTest.java b/service/notification/examples/android/NotiConsumerExample/app/src/androidTest/java/org/iotivity/service/ns/sample/consumer/ExampleUnitTest.java index 1daab94..a5b0d68 100644 --- a/service/notification/examples/android/NotiConsumerExample/app/src/androidTest/java/org/iotivity/service/ns/sample/consumer/ExampleUnitTest.java +++ b/service/notification/examples/android/NotiConsumerExample/app/src/androidTest/java/org/iotivity/service/ns/sample/consumer/ExampleUnitTest.java @@ -49,241 +49,198 @@ import java.util.concurrent.TimeUnit; * To work on unit tests, switch the Test Artifact in the Build Variants view. */ @RunWith(AndroidJUnit4.class) -public class ExampleUnitTest extends ApplicationTestCase -{ - public ExampleUnitTest() - { +public class ExampleUnitTest extends ApplicationTestCase { + public ExampleUnitTest() { super(Application.class); } - private static Context mContext = null; - private ProviderService gProviderRes; - private ProviderSimulator gProviderSimul; - private static ConsumerService gConsumerRes; - private static DiscoveryCallbackListener disCb ; - private static ProviderCallbackListener provCb ; - CountDownLatch lockObject; - Response response; - private static String TAG = "ConsumerExample UnitTest"; - - public void startBefore(boolean subControllability) - { - try - { + private static Context mContext = null; + private ProviderService gProviderRes; + private ProviderSimulator gProviderSimul; + private static ConsumerService gConsumerRes; + private static DiscoveryCallbackListener disCb; + private static ProviderCallbackListener provCb; + CountDownLatch lockObject; + Response response; + private static String TAG = "ConsumerExample UnitTest"; + + public void startBefore(boolean subControllability) { + Log.i(TAG, "startConsumerBefore - IN"); + try { gConsumerRes.start(disCb); - gProviderRes.start(gProviderSimul, gProviderSimul, subControllability, "nothing", false); + gProviderRes.start(gProviderSimul, gProviderSimul, + subControllability, "nothing", false); lockObject.await(4000, TimeUnit.MILLISECONDS); - } - catch (Exception e) - { + } catch (Exception e) { e.printStackTrace(); } + Log.i(TAG, "startConsumerBefore - OUT"); } - public void startAfter(boolean subControllability) - { - try - { - gProviderRes.start(gProviderSimul, gProviderSimul, subControllability, "nothing", false); + public void startAfter(boolean subControllability) { + Log.i(TAG, "startConsumerAfter - IN"); + try { + gProviderRes.start(gProviderSimul, gProviderSimul, + subControllability, "nothing", false); gConsumerRes.start(disCb); lockObject.await(4000, TimeUnit.MILLISECONDS); - } - catch (Exception e) - { + } catch (Exception e) { e.printStackTrace(); } + Log.i(TAG, "startConsumerAfter - OUT"); } - public void setListener(Provider mProvider) - { - try - { + public void setListener(Provider mProvider) { + try { mProvider.setListener(provCb, provCb, provCb); - } - catch (Exception e) - { + } catch (Exception e) { e.printStackTrace(); } } - public void subscribe(Provider.ProviderState state) - { + public void subscribe(Provider.ProviderState state) { lockObject = new CountDownLatch(1); response = new Response(); provCb.set(lockObject, response); provCb.setState(state); Provider mProvider = disCb.getProvider(); setListener(mProvider); - try - { - if (!mProvider.isSubscribed()) - { + try { + if (!mProvider.isSubscribed()) { Log.i(TAG, "not subscribed"); mProvider.subscribe(); } lockObject.await(4000, TimeUnit.MILLISECONDS); - } - catch (Exception e) - { + } catch (Exception e) { e.printStackTrace(); } } - public long sendMessage() - { + public long sendMessage() { lockObject = new CountDownLatch(1); response = new Response(); provCb.set(lockObject, response); - org.iotivity.service.ns.common.Message msg = gProviderSimul.getMessage(); + org.iotivity.service.ns.common.Message msg = gProviderSimul + .getMessage(); long Id = msg.getMessageId(); provCb.setId(Id); - try - { + try { gProviderRes.sendMessage(msg); - lockObject.await(4000, TimeUnit.SECONDS); - } - catch (Exception e) - { + lockObject.await(4000, TimeUnit.MILLISECONDS); + } catch (Exception e) { e.printStackTrace(); } return Id; } - public void sendSyncInfo(long id, SyncInfo.SyncType type) - { - try - { + public void sendSyncInfo(long id, SyncInfo.SyncType type) { + try { lockObject = new CountDownLatch(1); response = new Response(); provCb.set(lockObject, response); provCb.setType(type); gProviderRes.sendSyncInfo(id, type); - lockObject.await(4000, TimeUnit.SECONDS); - } - catch (Exception e) - { + lockObject.await(4000, TimeUnit.MILLISECONDS); + } catch (Exception e) { e.printStackTrace(); } } - public void providerSendSyncInfo(Provider provider, long id, SyncInfo.SyncType type) - { - try - { + public void providerSendSyncInfo(Provider provider, long id, + SyncInfo.SyncType type) { + try { lockObject = new CountDownLatch(1); response = new Response(); provCb.set(lockObject, response); provCb.setType(type); provider.sendSyncInfo(id, type); - lockObject.await(4000, TimeUnit.SECONDS); - } - catch (Exception e) - { + lockObject.await(4000, TimeUnit.MILLISECONDS); + } catch (Exception e) { e.printStackTrace(); } } - public void registerTopic(String topic) - { + public void registerTopic(String topic) { lockObject = new CountDownLatch(1); response = new Response(); provCb.set(lockObject, response); provCb.setState(Provider.ProviderState.TOPIC); - try - { + try { gProviderRes.registerTopic(topic); - lockObject.await(4000, TimeUnit.SECONDS); - } - catch (Exception e) - { + lockObject.await(4000, TimeUnit.MILLISECONDS); + } catch (Exception e) { e.printStackTrace(); } } + @BeforeClass - public static void Initialize() - { - PlatformConfig platformConfig = new PlatformConfig( - mContext, - ServiceType.IN_PROC, - ModeType.CLIENT_SERVER, - "0.0.0.0", // By setting to "0.0.0.0", it binds to all available interfaces - 0, // Uses randomly available port - QualityOfService.LOW - ); + public static void Initialize() { + PlatformConfig platformConfig = new PlatformConfig(mContext, + ServiceType.IN_PROC, ModeType.CLIENT_SERVER, "0.0.0.0", + 0, // Uses randomly available port + QualityOfService.LOW); OcPlatform.Configure(platformConfig); - try - { + try { OcPlatform.stopPresence(); // Initialize OcPlatform - } - catch (Exception e) - { + } catch (Exception e) { e.printStackTrace(); } } @Before - public void SetUp() - { + public void SetUp() { + Log.i(TAG, "SetUp - IN"); disCb = new DiscoveryCallbackListener(); provCb = new ProviderCallbackListener(); - gConsumerRes = ConsumerService.getInstance(); - gProviderRes = ProviderService.getInstance(); + gConsumerRes = ConsumerService.getInstance(); + gProviderRes = ProviderService.getInstance(); gProviderSimul = new ProviderSimulator(); lockObject = new CountDownLatch(1); response = new Response(); disCb.set(lockObject, response); + Log.i(TAG, "SetUp - OUT"); } @After - public void TearDown() - { - try - { + public void TearDown() { + Log.i(TAG, "TearDown - IN"); + try { gConsumerRes.stop(); gProviderRes.stop(); lockObject = new CountDownLatch(1); lockObject.await(2000, TimeUnit.MILLISECONDS); - } - catch (Exception e) - { + } catch (Exception e) { e.printStackTrace(); } - + Log.i(TAG, "TearDown - OUT"); } @Test - public void DiscoverProviderWithNonAccepterWhenStartedConsumerFirst() - { + public void DiscoverProviderWithNonAccepterWhenStartedConsumerFirst() { startBefore(false); assertEquals(true, response.get()); } @Test - public void DiscoverProviderWithNonAccepterWhenStartedConsumerAfter() - { + public void DiscoverProviderWithNonAccepterWhenStartedConsumerAfter() { startAfter(false); assertEquals(true, response.get()); } @Test - public void DiscoverProviderWithNonAccepterWhenRescan() - { + public void DiscoverProviderWithNonAccepterWhenRescan() { startAfter(false); assertEquals(true, response.get()); - try - { + try { gConsumerRes.rescanProvider(); - } - catch (Exception e) - { + } catch (Exception e) { e.printStackTrace(); } } @Test - public void ExpectSubscribeSuccess() - { + public void ExpectSubscribeSuccess() { startAfter(false); assertEquals(true, response.get()); @@ -293,8 +250,7 @@ public class ExampleUnitTest extends ApplicationTestCase } @Test - public void ExpectReceiveNotification() - { + public void ExpectReceiveNotification() { startAfter(false); assertEquals(true, response.get()); @@ -308,15 +264,13 @@ public class ExampleUnitTest extends ApplicationTestCase } @Test - public void DiscoverProviderWithAccepterisProvider() - { + public void DiscoverProviderWithAccepterisProvider() { startAfter(true); assertEquals(true, response.get()); } @Test - public void ExpectReceiveNotificationWithAccepterisProvider() - { + public void ExpectReceiveNotificationWithAccepterisProvider() { startAfter(true); assertEquals(true, response.get()); @@ -328,8 +282,7 @@ public class ExampleUnitTest extends ApplicationTestCase } @Test - public void ExpectCallbackReadCheckWhenProviderNotifySync() - { + public void ExpectCallbackReadCheckWhenProviderNotifySync() { startAfter(true); assertEquals(true, response.get()); @@ -344,8 +297,7 @@ public class ExampleUnitTest extends ApplicationTestCase } @Test - public void ExpectCallbackDismissCheckWhenProviderNotifySync() - { + public void ExpectCallbackDismissCheckWhenProviderNotifySync() { startAfter(true); assertEquals(true, response.get()); @@ -360,8 +312,7 @@ public class ExampleUnitTest extends ApplicationTestCase } @Test - public void ExpectCallbackReadCheckWhenConsumerPostSync() - { + public void ExpectCallbackReadCheckWhenConsumerPostSync() { startAfter(true); assertEquals(true, response.get()); @@ -376,8 +327,7 @@ public class ExampleUnitTest extends ApplicationTestCase } @Test - public void ExpectCallbackDismissCheckWhenConsumerPostSync() - { + public void ExpectCallbackDismissCheckWhenConsumerPostSync() { startAfter(true); assertEquals(true, response.get()); @@ -392,8 +342,7 @@ public class ExampleUnitTest extends ApplicationTestCase } @Test - public void ExpectCallbackTopicUpdated() - { + public void ExpectCallbackTopicUpdated() { startAfter(true); assertEquals(true, response.get()); @@ -405,16 +354,14 @@ public class ExampleUnitTest extends ApplicationTestCase } @Test - public void ExpectEQTopicList() - { + public void ExpectEQTopicList() { startAfter(true); assertEquals(true, response.get()); Provider mProvider = disCb.getProvider(); setListener(mProvider); - try - { + try { registerTopic("OIC_TOPIC1"); assertEquals(true, response.get()); registerTopic("OIC_TOPIC2"); @@ -423,31 +370,28 @@ public class ExampleUnitTest extends ApplicationTestCase assertEquals(true, response.get()); response = new Response(); - Iterator it = mProvider.getTopicList().getTopicsList().iterator(); - Iterator it2 = gProviderRes.getRegisteredTopicList().getTopicsList().iterator(); - while (it.hasNext()) - { + Iterator it = mProvider.getTopicList().getTopicsList() + .iterator(); + Iterator it2 = gProviderRes.getRegisteredTopicList() + .getTopicsList().iterator(); + while (it.hasNext()) { Topic element = it.next(); Topic element2 = it2.next(); Log.i(TAG, element2.getTopicName()); - if (!element.getTopicName().equals(element2.getTopicName())) - { + if (!element.getTopicName().equals(element2.getTopicName())) { response.set(false); break; } response.set(true); } - } - catch (Exception e) - { + } catch (Exception e) { e.printStackTrace(); } assertEquals(true, response.get()); } @Test - public void ExpectFailUpdateTopicOnConsumer() - { + public void ExpectFailUpdateTopicOnConsumer() { startAfter(true); assertEquals(true, response.get()); @@ -459,27 +403,22 @@ public class ExampleUnitTest extends ApplicationTestCase int result = 0; - try - { + try { TopicsList list = mProvider.getTopicList(); Iterator it = list.getTopicsList().iterator(); - while (it.hasNext()) - { + while (it.hasNext()) { Topic element = it.next(); element.setState(Topic.TopicState.SUBSCRIBED); } result = mProvider.updateTopicList(list); - } - catch (Exception e) - { + } catch (Exception e) { e.printStackTrace(); } assertEquals(200, result); } @Test - public void ExpectCallbackStoppedProvider() - { + public void ExpectCallbackStoppedProvider() { startAfter(true); assertEquals(true, response.get()); @@ -491,13 +430,10 @@ public class ExampleUnitTest extends ApplicationTestCase provCb.set(lockObject, response); provCb.setState(Provider.ProviderState.STOPPED); - try - { + try { gProviderRes.stop(); lockObject.await(4000, TimeUnit.MILLISECONDS); - } - catch (Exception e) - { + } catch (Exception e) { e.printStackTrace(); } @@ -507,106 +443,104 @@ public class ExampleUnitTest extends ApplicationTestCase } class DiscoveryCallbackListener - implements ConsumerService.OnProviderDiscoveredListener -{ + implements ConsumerService.OnProviderDiscoveredListener { private CountDownLatch mLockObject; - private Response mResponse; - private Provider mProvider; - private static String TAG = "UnitTest DiscoveryCallbackListener"; + private Response mResponse; + private Provider mProvider; + private static String TAG = "UnitTest DiscoveryCallbackListener"; - public void set(CountDownLatch lockObject , Response response) - { + public void set(CountDownLatch lockObject, Response response) { mLockObject = lockObject; mResponse = response; } - public Provider getProvider() - { + public Provider getProvider() { return mProvider; } + @Override - public void onProviderDiscovered(Provider provider) - { + public void onProviderDiscovered(Provider provider) { Log.i(TAG, provider.getProviderId()); mProvider = provider; - if (mResponse != null) - { + if (mResponse != null) { + Log.i(TAG, "onProviderDiscovered: Lock released"); mResponse.set(true); mLockObject.countDown(); } } } -class ProviderCallbackListener - implements Provider.OnProviderStateListener, - Provider.OnMessageReceivedListner, Provider.OnSyncInfoReceivedListner -{ +class ProviderCallbackListener implements Provider.OnProviderStateListener, + Provider.OnMessageReceivedListener, Provider.OnSyncInfoReceivedListener { - private CountDownLatch mLockObject; - private Response mResponse; + private CountDownLatch mLockObject; + private Response mResponse; private Provider.ProviderState mState; - private SyncInfo.SyncType mType; - private long mId; - private static String TAG = "UnitTest ProviderCallbackListener"; + private SyncInfo.SyncType mType; + private long mId; + private static String TAG = "UnitTest ProviderCallbackListener"; - public void set(CountDownLatch lockObject , Response response) - { + public void set(CountDownLatch lockObject, Response response) { mLockObject = lockObject; mResponse = response; } - public void setState(Provider.ProviderState state) - { + public void setState(Provider.ProviderState state) { mState = state; } - public void setId(long id) - { + + public void setId(long id) { mId = id; } - void setType(SyncInfo.SyncType type) - { + + void setType(SyncInfo.SyncType type) { mType = type; } + @Override - public void onProviderStateReceived(Provider.ProviderState state) - { + public void onProviderStateReceived(Provider.ProviderState state) { Log.i(TAG, "onProviderStateReceived: " + state); - if (mState == state) mResponse.set(true); - mLockObject.countDown(); + if (mState == state) { + Log.i(TAG, "onProviderStateReceived: Lock released"); + mResponse.set(true); + mLockObject.countDown(); + } + } @Override - public void onMessageReceived(org.iotivity.service.ns.common.Message msg) - { + public void onMessageReceived(org.iotivity.service.ns.common.Message msg) { Log.i(TAG, "onMessageReceived: " + msg.getMessageId()); - if (mId == msg.getMessageId()) mResponse.set(true); - mLockObject.countDown(); + if (mId == msg.getMessageId()) { + Log.i(TAG, "onMessageReceived: Lock released"); + mResponse.set(true); + mLockObject.countDown(); + } } @Override - public void onSyncInfoReceived(SyncInfo syncInfo) - { + public void onSyncInfoReceived(SyncInfo syncInfo) { Log.i(TAG, "onSyncInfoReceived: " + syncInfo.getState()); - if (mType == syncInfo.getState()) mResponse.set(true); - mLockObject.countDown(); + if (mType == syncInfo.getState()) { + Log.i(TAG, "onSyncInfoReceived: Lock released"); + mResponse.set(true); + mLockObject.countDown(); + } } } -class Response -{ +class Response { private boolean state; - Response() - { + + Response() { state = false; } - public void set(boolean val) - { + + public void set(boolean val) { state = val; } - public boolean get() - { + public boolean get() { return state; } } - diff --git a/service/notification/examples/android/NotiConsumerExample/app/src/androidTest/java/org/iotivity/service/ns/sample/consumer/ProviderSimulator.java b/service/notification/examples/android/NotiConsumerExample/app/src/androidTest/java/org/iotivity/service/ns/sample/consumer/ProviderSimulator.java index 93035b2..7190864 100644 --- a/service/notification/examples/android/NotiConsumerExample/app/src/androidTest/java/org/iotivity/service/ns/sample/consumer/ProviderSimulator.java +++ b/service/notification/examples/android/NotiConsumerExample/app/src/androidTest/java/org/iotivity/service/ns/sample/consumer/ProviderSimulator.java @@ -28,38 +28,30 @@ import org.iotivity.service.ns.common.SyncInfo; import org.iotivity.service.ns.provider.Consumer; import org.iotivity.service.ns.provider.ProviderService; - -class ProviderSimulator implements ProviderService.OnMessageSynchronizedListener, - ProviderService.OnConsumerSubscribedListener -{ - private String TAG = "Provider Simulator" ; +class ProviderSimulator + implements ProviderService.OnMessageSynchronizedListener, + ProviderService.OnConsumerSubscribedListener { + private String TAG = "Provider Simulator"; private Consumer gConsumer; @Override - public void onMessageSynchronized(SyncInfo syncInfo) - { - Log.i(TAG, "Notification onMessageSynchronized: " ); + public void onMessageSynchronized(SyncInfo syncInfo) { + Log.i(TAG, "Notification onMessageSynchronized: "); } @Override - public void onConsumerSubscribed(Consumer consumer) - { + public void onConsumerSubscribed(Consumer consumer) { gConsumer = consumer; - try - { + try { int result = gConsumer.acceptSubscription(true); Log.i(TAG, "Notification AcceptSubscription: " + result); - } - catch (Exception e) - { + } catch (Exception e) { } } - public Message getMessage() - { - try - { + public Message getMessage() { + try { Message msg = ProviderService.getInstance().createMessage(); msg.setTitle("Title"); msg.setSourceName("provider"); @@ -67,9 +59,7 @@ class ProviderSimulator implements ProviderService.OnMessageSynchronizedListener MediaContents media = new MediaContents("new"); msg.setMediaContents(media); return msg; - } - catch (Exception e) - { + } catch (Exception e) { e.printStackTrace(); } return null; diff --git a/service/notification/examples/android/NotiConsumerExample/app/src/main/java/org/iotivity/service/ns/sample/consumer/ConsumerSample.java b/service/notification/examples/android/NotiConsumerExample/app/src/main/java/org/iotivity/service/ns/sample/consumer/ConsumerSample.java index 864d779..6e15108 100644 --- a/service/notification/examples/android/NotiConsumerExample/app/src/main/java/org/iotivity/service/ns/sample/consumer/ConsumerSample.java +++ b/service/notification/examples/android/NotiConsumerExample/app/src/main/java/org/iotivity/service/ns/sample/consumer/ConsumerSample.java @@ -36,226 +36,183 @@ import org.iotivity.service.ns.consumer.ConsumerService; import org.iotivity.service.ns.consumer.Provider; public class ConsumerSample - implements ConsumerService.OnProviderDiscoveredListener, - Provider.OnProviderStateListener, - Provider.OnMessageReceivedListner, Provider.OnSyncInfoReceivedListner -{ - private static final String TAG = "NS_CONSUMER_SAMPLE"; + implements ConsumerService.OnProviderDiscoveredListener, + Provider.OnProviderStateListener, Provider.OnMessageReceivedListener, + Provider.OnSyncInfoReceivedListener { + private static final String TAG = "NS_CONSUMER_SAMPLE"; - private Context mContext = null; - private ConsumerService consumerService = null; - private boolean mAcceptor = true; - private Provider mProvider = null; + private Context mContext = null; + private ConsumerService consumerService = null; + private boolean mAcceptor = true; + private Provider mProvider = null; - private Handler mHandler = null; + private Handler mHandler = null; - private static final int PROVIDER_DISCOVERED = 1; - private static final int STATE_CHANGED = 2; - private static final int MESSAGE_RECEIVED = 3; - private static final int SYNCINFO_RECEIVED = 4; - private static final int TOPICS_RECEIVED = 5; + private static final int PROVIDER_DISCOVERED = 1; + private static final int STATE_CHANGED = 2; + private static final int MESSAGE_RECEIVED = 3; + private static final int SYNCINFO_RECEIVED = 4; + private static final int TOPICS_RECEIVED = 5; - public ConsumerSample(Context context) - { + public ConsumerSample(Context context) { Log.i(TAG, "Create consumer sample Instance"); this.mContext = context; consumerService = new ConsumerService(); } - public void setHandler(Handler handler) - { + public void setHandler(Handler handler) { this.mHandler = handler; } - public boolean getAcceptor() - { + public boolean getAcceptor() { return mAcceptor; } - private void configurePlatform() - { + private void configurePlatform() { - PlatformConfig platformConfig = new PlatformConfig( - mContext, - ServiceType.IN_PROC, - ModeType.CLIENT_SERVER, - "0.0.0.0", // By setting to "0.0.0.0", it binds to all available interfaces - 0, // Uses randomly available port - QualityOfService.LOW - ); + PlatformConfig platformConfig = new PlatformConfig(mContext, + ServiceType.IN_PROC, ModeType.CLIENT_SERVER, "0.0.0.0", + 0, // Uses randomly available port + QualityOfService.LOW); Log.i(TAG, "Configuring platform."); OcPlatform.Configure(platformConfig); - try - { + try { OcPlatform.stopPresence(); // Initialize OcPlatform - } - catch (Exception e) - { - Log.e(TAG, "Exception: stopping presence when configuration step: " + e); + } catch (Exception e) { + Log.e(TAG, "Exception: stopping presence when configuration step: " + + e); } Log.i(TAG, "Configuration done Successfully"); } - public void startNotificationConsumer() - { + public void startNotificationConsumer() { configurePlatform(); - try - { + try { consumerService.start(this); - } - catch (Exception e) - { + } catch (Exception e) { Log.e(TAG, "Exception: startNotificationConsumer : " + e); } } - public void stopNotificationConsumer() - { - try - { + public void stopNotificationConsumer() { + try { consumerService.stop(); mProvider = null; - } - catch (Exception e) - { + } catch (Exception e) { Log.e(TAG, "Exception: stopNotificationConsumer : " + e); } } - public void enableRemoteService(String serverAddress) - { - try - { + public void enableRemoteService(String serverAddress) { + try { consumerService.enableRemoteService(serverAddress); - } - catch (NSException e) - { + } catch (NSException e) { Log.e(TAG, "NSException: enableRemoteService : " + e); } } + public int subscribeMQService(String servAdd, String topicName) { Log.i(TAG, "SubscribeMQService - IN"); int result = 0; - try{ + try { result = consumerService.subscribeMQService(servAdd, topicName); - Log.i(TAG, "Notification SubscribeMQService: "+ result ); - } - catch(Exception e) { - + Log.i(TAG, "Notification SubscribeMQService: " + result); + } catch (Exception e) { + Log.e(TAG, "Exception: subscribeMQService : " + e); } Log.i(TAG, "SubscribeMQService - OUT"); return result; } - public void rescanProvider() - { - try - { + + public void rescanProvider() { + try { consumerService.rescanProvider(); - } - catch (Exception e) - { + } catch (Exception e) { Log.e(TAG, "Exception: rescanProvider : " + e); } } - public void getTopicsList() - { - if (mProvider != null) - { - try - { + + public void getTopicsList() { + if (mProvider != null) { + try { TopicsList topicsList = mProvider.getTopicList(); StringBuilder stringBuilder = new StringBuilder(); stringBuilder.append("TopicList Received :"); - for(Topic topic : topicsList.getTopicsList()) - { - Log.i(TAG, "Topic Name : " + topic.getTopicName() ); - Log.i(TAG, "Topic State : " + topic.getState() ); - stringBuilder.append("\nTopic Name : " + topic.getTopicName()); + for (Topic topic : topicsList.getTopicsList()) { + Log.i(TAG, "Topic Name : " + topic.getTopicName()); + Log.i(TAG, "Topic State : " + topic.getState()); + stringBuilder + .append("\nTopic Name : " + topic.getTopicName()); stringBuilder.append("\nTopic State : " + topic.getState()); } - Message msg = mHandler.obtainMessage(TOPICS_RECEIVED, stringBuilder.toString()); + Message msg = mHandler.obtainMessage(TOPICS_RECEIVED, + stringBuilder.toString()); mHandler.sendMessage(msg); - } - catch (Exception e) - { + } catch (Exception e) { Log.e(TAG, "Exception: getTopicsList : " + e); } - } - else - { + } else { Log.e(TAG, "getTopicsList Provider NULL"); } } - public void updateTopicList(TopicsList topicsList) - { - if (mProvider != null) - { - try - { + + public void updateTopicList(TopicsList topicsList) { + if (mProvider != null) { + try { mProvider.updateTopicList(topicsList); - } - catch (Exception e) - { + } catch (Exception e) { Log.e(TAG, "Exception: updateTopicList : " + e); } - } - else - { + } else { Log.e(TAG, "updateTopicList Provider NULL"); } } + @Override - public void onProviderDiscovered(Provider provider) - { + public void onProviderDiscovered(Provider provider) { Log.i(TAG, "onProviderDiscovered"); - if (provider == null) - { + if (provider == null) { Log.e(TAG, "providerID is Null "); return; } mProvider = provider; - Log.i(TAG, "Provider ID: " + provider.getProviderId() ); + Log.i(TAG, "Provider ID: " + provider.getProviderId()); Message msg = mHandler.obtainMessage(PROVIDER_DISCOVERED, - "Provider Discovered Id: " + provider.getProviderId()); + "Provider Discovered Id: " + provider.getProviderId()); mHandler.sendMessage(msg); - try - { + try { Log.i(TAG, "setListeners to Discovered Provider"); provider.setListener(this, this, this); Log.i(TAG, "setListeners done"); - if (! provider.isSubscribed()) - { + if (!provider.isSubscribed()) { Log.i(TAG, "Provider not subscribed. Acceptor is Consumer"); mAcceptor = false; provider.subscribe(); - } - else - { - Log.i(TAG, "Provider is already subscribed. Acceptor is Provider"); + } else { + Log.i(TAG, + "Provider is already subscribed. Acceptor is Provider"); mAcceptor = true; } - } - catch (Exception e) - { + } catch (Exception e) { Log.e(TAG, "Exception : " + e); } } @Override - public void onProviderStateReceived(Provider.ProviderState state) - { + public void onProviderStateReceived(Provider.ProviderState state) { Log.i(TAG, "onProviderStateReceived"); - Log.i(TAG, "ProviderState Received : " + state ); - Message msg = mHandler.obtainMessage(STATE_CHANGED, "ProviderState Received : " + state); + Log.i(TAG, "ProviderState Received : " + state); + Message msg = mHandler.obtainMessage(STATE_CHANGED, + "ProviderState Received : " + state); mHandler.sendMessage(msg); } @Override - public void onMessageReceived(org.iotivity.service.ns.common.Message message) - { + public void onMessageReceived( + org.iotivity.service.ns.common.Message message) { Log.i(TAG, "onMessageReceived"); Log.i(TAG, "Message Id: " + message.getMessageId()); @@ -265,33 +222,30 @@ public class ConsumerSample Log.i(TAG, "Message Source: " + message.getSourceName()); Message msg = mHandler.obtainMessage(MESSAGE_RECEIVED, - "Message Id: " + message.getMessageId() + "\n" + - "Message title: " + message.getTitle() + "\n" + - "Message Content: " + message.getContentText() + "\n" + - "Message Topic: " + message.getTopic() + "\n" + - "Message Source: " + message.getSourceName() ); + "Message Id: " + message.getMessageId() + "\n" + + "Message title: " + message.getTitle() + "\n" + + "Message Content: " + message.getContentText() + "\n" + + "Message Topic: " + message.getTopic() + "\n" + + "Message Source: " + message.getSourceName()); mHandler.sendMessage(msg); - try - { + try { Log.i(TAG, "send READ syncInfo"); - mProvider.sendSyncInfo(message.getMessageId(), SyncInfo.SyncType.READ); - } - catch (Exception e) - { + mProvider.sendSyncInfo(message.getMessageId(), + SyncInfo.SyncType.READ); + } catch (Exception e) { Log.e(TAG, "Exception : " + e); } } @Override - public void onSyncInfoReceived(SyncInfo sync) - { + public void onSyncInfoReceived(SyncInfo sync) { Log.i(TAG, "onSyncInfoReceived"); Log.i(TAG, "Sync Id: " + sync.getMessageId()); Log.i(TAG, "Sync STATE: " + sync.getState()); Message msg = mHandler.obtainMessage(SYNCINFO_RECEIVED, - "Sync Id: " + sync.getMessageId() + "\n" + - "Sync STATE: " + sync.getState()); + "Sync Id: " + sync.getMessageId() + "\n" + "Sync STATE: " + + sync.getState()); mHandler.sendMessage(msg); } } diff --git a/service/notification/examples/android/NotiConsumerExample/app/src/main/java/org/iotivity/service/ns/sample/consumer/LoginActivity.java b/service/notification/examples/android/NotiConsumerExample/app/src/main/java/org/iotivity/service/ns/sample/consumer/LoginActivity.java index 61b3eb6..287e4b7 100644 --- a/service/notification/examples/android/NotiConsumerExample/app/src/main/java/org/iotivity/service/ns/sample/consumer/LoginActivity.java +++ b/service/notification/examples/android/NotiConsumerExample/app/src/main/java/org/iotivity/service/ns/sample/consumer/LoginActivity.java @@ -21,7 +21,10 @@ */ package org.iotivity.service.ns.sample.consumer; + import android.app.Activity; +import android.app.Dialog; +import android.content.Context; import android.content.Intent; import android.net.UrlQuerySanitizer; import android.os.Bundle; @@ -29,33 +32,55 @@ import android.util.Log; import android.view.View; import android.webkit.WebView; import android.webkit.WebViewClient; - +import android.widget.Button; +import android.widget.EditText; /** - * This class is for login to the provider. - * Can be get auth code via web page. + * This class is for login to the provider. Can be get auth code via web page. */ public class LoginActivity extends Activity { - private static final String TAG = "OIC_SIMPLE_LOGIN"; - - private WebView mWebView = null; - private final String samsungAccount = "https://account.samsung.com/mobile/account/check.do?serviceID=166135d296&actionID=StartOAuth2&countryCode="+ "US" + "&languageCode=" + "en"; - private final String mAuthProvider = "samsung-us"; - - - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - setContentView(R.layout.activity_login); + private static final String TAG = "OIC_SIMPLE_LOGIN"; + + private final Context context = this; + private WebView mWebView = null; + private static String loginAccount = null; + private static String mAuthProvider = null; + + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_login); + + final Dialog dialog = new Dialog(context); + dialog.setContentView(R.layout.dialog_auth); + dialog.setTitle("Login Details"); + final EditText auth = (EditText) dialog.findViewById(R.id.EditTextAuth); + final EditText url = (EditText) dialog.findViewById(R.id.EditTextUrl); + if (loginAccount != null && mAuthProvider != null) { + url.setText(loginAccount); + auth.setText(mAuthProvider); + } - mWebView = (WebView) findViewById(R.id.webView); - mWebView.setInitialScale(200); - mWebView.getSettings().setJavaScriptEnabled(true); - mWebView.getSettings().setBuiltInZoomControls(true); - mWebView.setWebViewClient(new WebViewClientClass()); + Button dialogButton = (Button) dialog.findViewById(R.id.dialogButtonOK); + dialog.setCanceledOnTouchOutside(false); + dialogButton.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + dialog.dismiss(); + loginAccount = url.getText().toString(); + mAuthProvider = auth.getText().toString(); + + mWebView = (WebView) findViewById(R.id.webView); + mWebView.setInitialScale(200); + mWebView.getSettings().setJavaScriptEnabled(true); + mWebView.getSettings().setBuiltInZoomControls(true); + mWebView.setWebViewClient(new WebViewClientClass()); + + mWebView.loadUrl(loginAccount); + } + }); + dialog.show(); + } - mWebView.loadUrl(samsungAccount); - } public void onDestroy() { super.onDestroy(); } @@ -63,28 +88,29 @@ public class LoginActivity extends Activity { private class WebViewClientClass extends WebViewClient { @Override - public void onPageFinished(WebView view, String url) { - Log.i(TAG, "onPageFinished!!! Response received: called url=" + url); + public void onPageFinished(WebView view, String url) { + Log.i(TAG, + "onPageFinished!!! Response received: called url=" + url); - if (url.contains("code") && url.contains("code_expires_in")) { + if (url.contains("code") && url.contains("code_expires_in")) { - mWebView.setVisibility(View.INVISIBLE); + mWebView.setVisibility(View.INVISIBLE); - // parsing url - UrlQuerySanitizer sanitizer = new UrlQuerySanitizer(); - sanitizer.setAllowUnregisteredParamaters(true); - sanitizer.parseUrl(url); + // parsing url + UrlQuerySanitizer sanitizer = new UrlQuerySanitizer(); + sanitizer.setAllowUnregisteredParamaters(true); + sanitizer.parseUrl(url); - String mAuthCode = sanitizer.getValue("code"); - Log.i(TAG, "onPageFinished!!! authCode=" + mAuthCode); + String mAuthCode = sanitizer.getValue("code"); + Log.i(TAG, "onPageFinished!!! authCode=" + mAuthCode); - Intent intent = getIntent(); - intent.putExtra("authCode", mAuthCode); - intent.putExtra("authProvider", mAuthProvider); - setResult(RESULT_OK, intent); + Intent intent = getIntent(); + intent.putExtra("authCode", mAuthCode); + intent.putExtra("authProvider", mAuthProvider); + setResult(RESULT_OK, intent); - finish(); - } + finish(); } + } } } diff --git a/service/notification/examples/android/NotiConsumerExample/app/src/main/java/org/iotivity/service/ns/sample/consumer/MainActivity.java b/service/notification/examples/android/NotiConsumerExample/app/src/main/java/org/iotivity/service/ns/sample/consumer/MainActivity.java index 59355cb..b0f2230 100644 --- a/service/notification/examples/android/NotiConsumerExample/app/src/main/java/org/iotivity/service/ns/sample/consumer/MainActivity.java +++ b/service/notification/examples/android/NotiConsumerExample/app/src/main/java/org/iotivity/service/ns/sample/consumer/MainActivity.java @@ -18,6 +18,8 @@ package org.iotivity.service.ns.sample.consumer; +import android.app.Dialog; +import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.os.Handler; @@ -26,6 +28,7 @@ import android.app.Activity; import android.util.Log; import android.view.View; import android.widget.Button; +import android.widget.EditText; import android.widget.TextView; import android.widget.Toast; @@ -44,125 +47,113 @@ import java.util.Arrays; import java.util.EnumSet; import java.util.HashMap; import java.util.List; - -public class MainActivity extends Activity implements OcAccountManager.OnPostListener -{ - private final String TAG = "NS_MAIN_ACTIVITY"; - private final int REQUEST_LOGIN = 1; - - public static final String deviceID = "9E09F4FE-978A-4BC3-B356-1F93BCA37829"; - public static final String CIServer = "coap+tcp://52.40.216.160:5683"; - public static final String RemoteAddress = "52.40.216.160:5683"; - public static final String MQCloudAddress = "52.78.151.180:5683"; - public static final String MQCloudTopic = "/oic/ps/notification"; - - private Button btnStart; - private Button btnStop; - private Button btnRescan; - private Button btnEnableRemoteService; - private Button btnGetTopicList; - private Button btnUpdateTopicList; - private Button btnClearLog; - private static TextView TvLog; - private Button signUp, signIn, signOut; - private Button subscribeMQ; - - private boolean isStarted = false; - - private ConsumerSample mConsumerSample = null; - private OcAccountManager mAccountManager; - String mAuthCode; - String mAuthProvider; - String mRefreshtoken; - String mUserID; - String mAccessToken; - - private static final int PROVIDER_DISCOVERED = 1; - private static final int STATE_CHANGED = 2; - private static final int MESSAGE_RECEIVED = 3; - private static final int SYNCINFO_RECEIVED = 4; - private static final int TOPICS_RECEIVED = 5; - - public static Handler mHandler = new Handler() - { +import java.util.Map; + +public class MainActivity extends Activity + implements OcAccountManager.OnPostListener { + private final String TAG = "NS_MAIN_ACTIVITY"; + private final int REQUEST_LOGIN = 1; + private static final String CI_SERVER_PREFIX = "coap+tcp://"; + private final Context context = this; + + public static String deviceID = null; + public static String CIServer = null; + public static String RemoteAddress = null; + public static String MQCloudAddress = null; + public static String MQCloudTopic = null; + + private Button btnStart; + private Button btnStop; + private Button btnRescan; + private Button btnEnableRemoteService; + private Button btnGetTopicList; + private Button btnUpdateTopicList; + private Button btnClearLog; + private static TextView TvLog; + private Button signUp, signIn, signOut; + private Button subscribeMQ; + + private boolean isStarted = false; + + private ConsumerSample mConsumerSample = null; + private OcAccountManager mAccountManager; + String mAuthCode; + String mAuthProvider; + String mRefreshtoken; + String mUserID; + String mAccessToken; + + private static final int PROVIDER_DISCOVERED = 1; + private static final int STATE_CHANGED = 2; + private static final int MESSAGE_RECEIVED = 3; + private static final int SYNCINFO_RECEIVED = 4; + private static final int TOPICS_RECEIVED = 5; + + public static Handler mHandler = new Handler() { @Override - public void handleMessage(Message msg) - { - switch (msg.what) - { - case PROVIDER_DISCOVERED: - { - String providerId = (String) msg.obj; - if (providerId != null) - { - TvLog.append( providerId + "\n"); - } - break; + public void handleMessage(Message msg) { + switch (msg.what) { + case PROVIDER_DISCOVERED: { + String providerId = (String) msg.obj; + if (providerId != null) { + TvLog.append(providerId + "\n"); } - case STATE_CHANGED: - { - String state = (String) msg.obj; - if (state != null) - { - TvLog.append( state + "\n"); - } - break; + break; + } + case STATE_CHANGED: { + String state = (String) msg.obj; + if (state != null) { + TvLog.append(state + "\n"); } - case MESSAGE_RECEIVED: - { - String message = (String) msg.obj; - if (message != null) - { - TvLog.append( message + "\n"); - } - break; + break; + } + case MESSAGE_RECEIVED: { + String message = (String) msg.obj; + if (message != null) { + TvLog.append(message + "\n"); } - case SYNCINFO_RECEIVED: - { - String sync = (String) msg.obj; - if (sync != null) - { - TvLog.append( sync + "\n"); - } - break; + break; + } + case SYNCINFO_RECEIVED: { + String sync = (String) msg.obj; + if (sync != null) { + TvLog.append(sync + "\n"); } - case TOPICS_RECEIVED: - { - String topicList = (String) msg.obj; - if (topicList != null) - { - TvLog.append( topicList + "\n"); - } - break; + break; + } + case TOPICS_RECEIVED: { + String topicList = (String) msg.obj; + if (topicList != null) { + TvLog.append(topicList + "\n"); } + break; + } default: break; } } }; - public void showToast(final String toast) - { - runOnUiThread(new Runnable() - { + public void showToast(final String toast) { + runOnUiThread(new Runnable() { @Override - public void run() - { - Toast.makeText(getApplicationContext(), toast, Toast.LENGTH_SHORT).show(); + public void run() { + Toast.makeText(getApplicationContext(), toast, + Toast.LENGTH_SHORT).show(); } }); } @Override - protected void onCreate(Bundle savedInstanceState) - { + protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btnStart = (Button) findViewById(R.id.BtnStart); btnStop = (Button) findViewById(R.id.BtnStop); btnRescan = (Button) findViewById(R.id.BtnRescan); - btnEnableRemoteService = (Button) findViewById(R.id.BtnEnableRemoteService); + btnEnableRemoteService = (Button) findViewById( + R.id.BtnEnableRemoteService); btnGetTopicList = (Button) findViewById(R.id.BtnGetTopicList); btnUpdateTopicList = (Button) findViewById(R.id.BtnUpdateTopicList); btnClearLog = (Button) findViewById(R.id.BtnClearLog); @@ -195,117 +186,107 @@ public class MainActivity extends Activity implements OcAccountManager.OnPostLi } @Override - protected void onDestroy() - { + protected void onDestroy() { if (isStarted) mConsumerSample.stopNotificationConsumer(); super.onDestroy(); } - Button.OnClickListener mClickListener = new View.OnClickListener() - { - public void onClick(View v) - { - switch (v.getId()) - { - case R.id.BtnStart: - { - if (!isStarted) - { - Log.i(TAG, "Start NS Consumer Service"); - - TvLog.setText("Start NS-Consumer\n"); - mConsumerSample.startNotificationConsumer(); - isStarted = true; - } - else - { - Log.e(TAG, "NS Consumer Service has already started"); - showToast("Error : Service has already started"); - } + Button.OnClickListener mClickListener = new View.OnClickListener() { + public void onClick(View v) { + switch (v.getId()) { + case R.id.BtnStart: { + if (!isStarted) { + Log.i(TAG, "Start NS Consumer Service"); + + TvLog.setText("Start NS-Consumer\n"); + mConsumerSample.startNotificationConsumer(); + isStarted = true; + } else { + Log.e(TAG, "NS Consumer Service has already started"); + showToast("Error : Service has already started"); } + } break; - case R.id.BtnStop: - { - if (!isStarted) - { - Log.e(TAG, "Fail to stop service. Service has not been started"); - showToast("Error : Service has not been started"); - break; - } - TvLog.append("Stop NS-Consumer\n"); - mConsumerSample.stopNotificationConsumer(); - isStarted = false; + case R.id.BtnStop: { + if (!isStarted) { + Log.e(TAG, + "Fail to stop service. Service has not been started"); + showToast("Error : Service has not been started"); + break; } + TvLog.append("Stop NS-Consumer\n"); + mConsumerSample.stopNotificationConsumer(); + isStarted = false; + } break; - case R.id.BtnRescan: - { - if (!isStarted) - { - Log.e(TAG, "Fail to rescan. Service has not been started"); - showToast("Error : Service has not been started"); - break; - } - TvLog.append("Rescan NS-Consumer\n"); - mConsumerSample.rescanProvider(); + case R.id.BtnRescan: { + if (!isStarted) { + Log.e(TAG, + "Fail to rescan. Service has not been started"); + showToast("Error : Service has not been started"); + break; } + TvLog.append("Rescan NS-Consumer\n"); + mConsumerSample.rescanProvider(); + } break; - case R.id.BtnEnableRemoteService: - { - if (!isStarted) - { - Log.e(TAG, "Fail to Enable RemoteService. Service has not been started"); - showToast("Error : Service has not been started"); - break; - } - TvLog.append("EnableRemoteService NS-Consumer\n"); - mConsumerSample.enableRemoteService(RemoteAddress); + case R.id.BtnEnableRemoteService: { + if (!isStarted) { + Log.e(TAG, + "Fail to Enable RemoteService. Service has not been started"); + showToast("Error : Service has not been started"); + break; } + TvLog.append("EnableRemoteService NS-Consumer\n"); + mConsumerSample.enableRemoteService(RemoteAddress); + } break; - case R.id.BtnGetTopicList: - { - if (!isStarted) - { - Log.e(TAG, "Fail to GetTopicList. Service has not been started"); - showToast("Error : Service has not been started"); - break; - } - TvLog.append("GetTopicList NS-Consumer\n"); - mConsumerSample.getTopicsList(); + case R.id.BtnGetTopicList: { + if (!isStarted) { + Log.e(TAG, + "Fail to GetTopicList. Service has not been started"); + showToast("Error : Service has not been started"); + break; } + TvLog.append("GetTopicList NS-Consumer\n"); + mConsumerSample.getTopicsList(); + } break; - case R.id.BtnUpdateTopicList: - { - if (!isStarted) - { - Log.e(TAG, "Fail to UpdateTopicList. Service has not been started"); - showToast("Error : Service has not been started"); - break; - } - if(mConsumerSample.getAcceptor()) - { - Log.e(TAG, "Operation Not Allowed. ProviderService Acceptor is not Consumer"); - showToast("Operation Not Allowed. ProviderService Acceptor is not Consumer"); - break; - } - TvLog.append("UpdateTopicList NS-Consumer\n"); + case R.id.BtnUpdateTopicList: { + if (!isStarted) { + Log.e(TAG, + "Fail to UpdateTopicList. Service has not been started"); + showToast("Error : Service has not been started"); + break; + } + if (mConsumerSample.getAcceptor()) { + Log.e(TAG, + "Operation Not Allowed. ProviderService Acceptor is not Consumer"); + showToast( + "Operation Not Allowed. ProviderService Acceptor is not Consumer"); + break; + } + TvLog.append("UpdateTopicList NS-Consumer\n"); - TopicsList topicList = new TopicsList(); - topicList.addTopic("OCF_TOPIC1", Topic.TopicState.SUBSCRIBED); - topicList.addTopic("OCF_TOPIC2", Topic.TopicState.SUBSCRIBED); - topicList.addTopic("OCF_TOPIC3", Topic.TopicState.UNSUBSCRIBED); + TopicsList topicList = new TopicsList(); + topicList.addTopic("OCF_TOPIC1", + Topic.TopicState.SUBSCRIBED); + topicList.addTopic("OCF_TOPIC2", + Topic.TopicState.SUBSCRIBED); + topicList.addTopic("OCF_TOPIC3", + Topic.TopicState.UNSUBSCRIBED); - mConsumerSample.updateTopicList(topicList); - } + mConsumerSample.updateTopicList(topicList); + } break; - case R.id.BtnClearLog: - { + case R.id.BtnClearLog: { TvLog.setText(""); } - break; + break; case R.id.signup: { - if(isStarted == false) { + if (isStarted == false) { Log.e(TAG, "Fail to Sign Up"); showToast("Start ConsumerService First"); break; @@ -313,9 +294,9 @@ public class MainActivity extends Activity implements OcAccountManager.OnPostLi TvLog.append("Initiating SignUp\n"); signUp(); } - break; + break; case R.id.signin: { - if(isStarted == false) { + if (isStarted == false) { Log.e(TAG, "Fail to Sign In"); showToast("Start ConsumerService First"); break; @@ -323,9 +304,9 @@ public class MainActivity extends Activity implements OcAccountManager.OnPostLi TvLog.append("Initiating SignIn\n"); signIn(); } - break; + break; case R.id.signout: { - if(isStarted == false) { + if (isStarted == false) { Log.e(TAG, "Fail to Sign out"); showToast("Start ConsumerService First"); break; @@ -333,20 +314,48 @@ public class MainActivity extends Activity implements OcAccountManager.OnPostLi TvLog.append("Initiating SignOut\n"); signOut(); } - break; + break; case R.id.subscribeMQService: { - if(isStarted == false) { + if (isStarted == false) { Log.e(TAG, "Fail to SubscribeMQService"); showToast("Start ProviderService First"); break; } - int result = mConsumerSample.subscribeMQService(MQCloudAddress, MQCloudTopic); - TvLog.append("SubscribeMQService Result : " + result + "\n"); + final Dialog dialog = new Dialog(context); + dialog.setContentView(R.layout.dialog_mq); + dialog.setTitle("MQ Cloud Service Details"); + + final EditText ip = (EditText) dialog + .findViewById(R.id.EditTextIp); + final EditText mqTopic = (EditText) dialog + .findViewById(R.id.EditTextMqTopic); + if (MQCloudAddress != null && MQCloudTopic != null) { + ip.setText(MQCloudAddress); + mqTopic.setText(MQCloudTopic); + } + + Button dialogButton = (Button) dialog + .findViewById(R.id.mqButtonOK); + + dialogButton.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + dialog.dismiss(); + MQCloudAddress = ip.getText().toString(); + MQCloudTopic = mqTopic.getText().toString(); + int result = mConsumerSample.subscribeMQService( + MQCloudAddress, MQCloudTopic); + TvLog.append("SubscribeMQService Result : " + result + + "\n"); + } + }); + dialog.show(); } - break; + break; } } }; + public void logMessage(final String text) { runOnUiThread(new Runnable() { public void run() { @@ -357,10 +366,11 @@ public class MainActivity extends Activity implements OcAccountManager.OnPostLi }); Log.i(TAG, text); } - OcAccountManager.OnPostListener onSignUp = new OcAccountManager.OnPostListener() { + + OcAccountManager.OnPostListener onSignUp = new OcAccountManager.OnPostListener() { @Override public synchronized void onPostCompleted(List list, - OcRepresentation ocRepresentation) { + OcRepresentation ocRepresentation) { logMessage("signUp was successful"); runOnUiThread(new Runnable() { public void run() { @@ -386,7 +396,6 @@ public class MainActivity extends Activity implements OcAccountManager.OnPostLi } } - @Override public synchronized void onPostFailed(Throwable throwable) { logMessage("Failed to signUp"); @@ -398,10 +407,11 @@ public class MainActivity extends Activity implements OcAccountManager.OnPostLi } } }; - OcAccountManager.OnPostListener onSignIn = new OcAccountManager.OnPostListener() { + + OcAccountManager.OnPostListener onSignIn = new OcAccountManager.OnPostListener() { @Override public synchronized void onPostCompleted(List list, - OcRepresentation ocRepresentation) { + OcRepresentation ocRepresentation) { logMessage("signIn was successful"); runOnUiThread(new Runnable() { public void run() { @@ -422,15 +432,16 @@ public class MainActivity extends Activity implements OcAccountManager.OnPostLi ErrorCode errCode = ocEx.getErrorCode(); logMessage("Error code: " + errCode); if (ErrorCode.UNAUTHORIZED_REQ != errCode) { - RefreshToken(); + refreshToken(); } } } }; + OcAccountManager.OnPostListener onSignOut = new OcAccountManager.OnPostListener() { @Override public synchronized void onPostCompleted(List list, - OcRepresentation ocRepresentation) { + OcRepresentation ocRepresentation) { logMessage("signOut was successful"); runOnUiThread(new Runnable() { public void run() { @@ -451,13 +462,16 @@ public class MainActivity extends Activity implements OcAccountManager.OnPostLi ErrorCode errCode = ocEx.getErrorCode(); logMessage("Error code: " + errCode); if (ErrorCode.UNAUTHORIZED_REQ != errCode) { - RefreshToken(); + refreshToken(); } } } }; + + @Override - public void onPostCompleted(List ocHeaderOptions, OcRepresentation ocRepresentation) { + public void onPostCompleted(List ocHeaderOptions, + OcRepresentation ocRepresentation) { } @@ -465,11 +479,12 @@ public class MainActivity extends Activity implements OcAccountManager.OnPostLi public void onPostFailed(Throwable throwable) { } + private void signIn() { try { - if(mAccountManager==null) - { - mAccountManager = OcPlatform.constructAccountManagerObject(CIServer, + if (mAccountManager == null) { + mAccountManager = OcPlatform.constructAccountManagerObject( + CIServer, EnumSet.of(OcConnectivityType.CT_ADAPTER_TCP)); } @@ -482,10 +497,10 @@ public class MainActivity extends Activity implements OcAccountManager.OnPostLi private void signOut() { try { logMessage("signOut"); - if(mAccountManager==null) - { + if (mAccountManager == null) { try { - mAccountManager = OcPlatform.constructAccountManagerObject(CIServer, + mAccountManager = OcPlatform.constructAccountManagerObject( + CIServer, EnumSet.of(OcConnectivityType.CT_ADAPTER_TCP)); } catch (OcException e) { e.printStackTrace(); @@ -502,16 +517,10 @@ public class MainActivity extends Activity implements OcAccountManager.OnPostLi } private void signUp() { - try { - mAccountManager = OcPlatform.constructAccountManagerObject(CIServer, - EnumSet.of(OcConnectivityType.CT_ADAPTER_TCP)); - } catch (OcException e) { - e.printStackTrace(); - } - - Intent intentLogin = new Intent(this,LoginActivity.class); + Intent intentLogin = new Intent(this, LoginActivity.class); startActivityForResult(intentLogin, REQUEST_LOGIN); } + @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); @@ -521,28 +530,61 @@ public class MainActivity extends Activity implements OcAccountManager.OnPostLi logMessage("authCode: " + mAuthCode); logMessage("authProvider: " + mAuthProvider); - try { - mAccountManager = OcPlatform.constructAccountManagerObject(CIServer, - EnumSet.of(OcConnectivityType.CT_ADAPTER_TCP)); - logMessage("Calling signup API"); - - mAccountManager.signUp(mAuthProvider, mAuthCode, onSignUp); - } catch (OcException e) { - e.printStackTrace(); + final Dialog dialog = new Dialog(context); + dialog.setContentView(R.layout.dialog_entry); + dialog.setTitle("SignUp Acccount IP Address"); + final EditText ip = (EditText) dialog + .findViewById(R.id.EditTextEntry); + if (RemoteAddress != null) { + ip.setText(RemoteAddress); } + Button dialogButton = (Button) dialog + .findViewById(R.id.entryButtonOK); + dialogButton.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + dialog.dismiss(); + RemoteAddress = ip.getText().toString(); + CIServer = CI_SERVER_PREFIX + RemoteAddress; + logMessage("server address for signup is: \n" + CIServer); + try { + mAccountManager = OcPlatform + .constructAccountManagerObject(CIServer, EnumSet + .of(OcConnectivityType.CT_ADAPTER_TCP)); + logMessage("Calling signup API"); + + if (mAuthProvider.equals("samsung") + || mAuthProvider.equals("samsung-us")) { + logMessage("Auth provider is samsung"); + Map options = new HashMap<>(); + options.put("auth_server_url", + "us-auth2.samsungosp.com"); + options.put("api_server_url", + "us-auth2.samsungosp.com"); + mAccountManager.signUp(mAuthProvider, mAuthCode, + options, onSignUp); + } else { + mAccountManager.signUp(mAuthProvider, mAuthCode, + onSignUp); + } + } catch (OcException e) { + e.printStackTrace(); + } + } + }); + dialog.show(); } } OcResource.OnPostListener onRefreshTokenPost = new OcResource.OnPostListener() { @Override - public void onPostCompleted(List list, OcRepresentation ocRepresentation) { + public void onPostCompleted(List list, + OcRepresentation ocRepresentation) { logMessage("RefreshToken Completed."); try { mAccessToken = ocRepresentation.getValue("accesstoken"); mRefreshtoken = ocRepresentation.getValue("refreshtoken"); - } - catch (OcException e) - { + } catch (OcException e) { e.printStackTrace(); } signIn(); @@ -554,11 +596,35 @@ public class MainActivity extends Activity implements OcAccountManager.OnPostLi Log.d(TAG, "onRefreshTokenPost failed.."); } }; - public void RefreshToken() { + + public void refreshToken() { + + if (deviceID == null) { + final Dialog dialog = new Dialog(context); + dialog.setContentView(R.layout.dialog_entry); + dialog.setTitle("Enter Device Id"); + dialog.setCanceledOnTouchOutside(false); + final EditText id = (EditText) dialog + .findViewById(R.id.EditTextEntry); + + Button dialogButton = (Button) dialog + .findViewById(R.id.entryButtonOK); + dialogButton.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + dialog.dismiss(); + deviceID = id.getText().toString(); + } + }); + dialog.show(); + } try { - OcResource authResource = OcPlatform.constructResourceObject(CIServer, "/.well-known/ocf/account/tokenrefresh", - EnumSet.of(OcConnectivityType.CT_ADAPTER_TCP, OcConnectivityType.CT_IP_USE_V4), - false, Arrays.asList("oic.wk.account"), Arrays.asList(OcPlatform.DEFAULT_INTERFACE)); + OcResource authResource = OcPlatform.constructResourceObject( + CIServer, "/.well-known/ocf/account/tokenrefresh", + EnumSet.of(OcConnectivityType.CT_ADAPTER_TCP, + OcConnectivityType.CT_IP_USE_V4), + false, Arrays.asList("oic.wk.account"), + Arrays.asList(OcPlatform.DEFAULT_INTERFACE)); OcRepresentation rep = new OcRepresentation(); showToast("RefreshToken in progress.."); @@ -567,10 +633,9 @@ public class MainActivity extends Activity implements OcAccountManager.OnPostLi rep.setValue("granttype", "refresh_token"); rep.setValue("refreshtoken", mRefreshtoken); rep.setValue("uid", mUserID); - authResource.post(rep, new HashMap(), onRefreshTokenPost); - } - catch(OcException e) - { + authResource.post(rep, new HashMap(), + onRefreshTokenPost); + } catch (OcException e) { e.printStackTrace(); } diff --git a/service/notification/examples/android/NotiConsumerExample/app/src/main/res/layout/dialog_auth.xml b/service/notification/examples/android/NotiConsumerExample/app/src/main/res/layout/dialog_auth.xml new file mode 100644 index 0000000..6e4dcba --- /dev/null +++ b/service/notification/examples/android/NotiConsumerExample/app/src/main/res/layout/dialog_auth.xml @@ -0,0 +1,68 @@ + + + + + + + +