package org.societies.android.platform.pubsub.container.test; import org.societies.android.api.comms.XMPPAgent; import org.societies.android.api.pubsub.IPubsubService; import org.societies.android.platform.pubsub.container.ServicePlatformPubsubTest; import org.societies.android.platform.pubsub.container.ServicePlatformPubsubTest.LocalPlatformPubsubBinder; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.test.ServiceTestCase; import android.test.suitebuilder.annotation.MediumTest; import android.util.Log; /** * The test suite tests the Pubsub service and its interaction with the Android Societies Comms service. * * In order to run the tests contained in this class ensure that the following steps are taken: * * 1. An Openfire XMPP server must be running * 2. A suitable AVD must be running * 3. The AVD must be configured so that the XMPP_DOMAIN value is valid * 4. The Societies Android Communications app must be installed. * 4. The Android Client or Login Tester app must have already logged in successfully * * Consult http://xmpp.org/extensions/xep-0060.html (Pubsub XMPP XEP) for more details especially * on Pubsub error messages (SEND_IQ_ERROR) */ public class TestSocietiesAndroidPubsub extends ServiceTestCase <ServicePlatformPubsubTest> { private static final String LOG_TAG = TestSocietiesAndroidPubsub.class.getName(); private final static String CLIENT = "org.societies.android.platform.pubsub.container.test"; //Modify these constants to suit local XMPP server private static final String XMPP_DOMAIN = "societies.bespoke"; private static final String XMPP_DOMAIN_NODE = "danode"; private static final String XMPP_IDENTIFIER = "alan"; private static final String XMPP_PASSWORD = "midge"; private static final String XMPP_BAD_IDENTIFIER = "godzilla"; private static final String XMPP_BAD_PASSWORD = "smog"; private static final String XMPP_NEW_IDENTIFIER = "gollum"; private static final String XMPP_NEW_PASSWORD = "precious"; private static final String XMPP_RESOURCE = "GalaxyNexus"; private static final String XMPP_SUCCESSFUL_JID = XMPP_IDENTIFIER + "@" + XMPP_DOMAIN + "/" + XMPP_RESOURCE; private static final String XMPP_SUCCESSFUL_CLOUD_NODE = XMPP_IDENTIFIER + "." + XMPP_DOMAIN; private static final String XMPP_SUCCESSFUL_DA_NODE = XMPP_DOMAIN_NODE + "." + XMPP_DOMAIN; private static final String XMPP_NEW_JID = XMPP_NEW_IDENTIFIER + "@" + XMPP_DOMAIN + "/" + XMPP_RESOURCE; private static final int XMPP_PORT = 5222; private static final String XMPP_DOMAIN_AUTHORITY = "danode." + XMPP_DOMAIN; //Actual CSS Nodes public static final String ADD_CSS_NODE = "addCSSNode"; public static final String ADD_CSS_NODE_DESC = "Additional node available on CSS"; public static final String DEPART_CSS_NODE = "departCSSNode"; public static final String DEPART_CSS_NODE_DESC = "Existing node no longer available on CSS"; //Test Nodes public static final String TEST_PUBSUB_NODE_1 = "testSocietiesNode_1"; public static final String TEST_PUBSUB_NODE_2 = "testSocietiesNode_2"; private static final long BIND_CALLBACK_ID = 34533; private static final long UNBIND_CALLBACK_ID = 434335; private static final long SUBSCRIBE_CALLBACK_ID = 67675; private static final long UNSUBSCRIBE_CALLBACK_ID = 997968; private static final long OWNER_CREATE_ID = 87865859; private static final long OWNER_DELETE_ID = 658595; private static final long PUBLISHER_PUBLISH_ID = 76858; private static final int DELAY = 10000; private static final String PUBSUB_ITEM = "<entry xmlns='http://www.w3.org/2005/Atom'>" + "<title>Soliloquy</title>" + "<summary>" + "To be, or not to be: that is the question:" + "Whether 'tis nobler in the mind to suffer..." + "</summary>" + "<link rel='alternate' type='text/html'" + "href='http://denmark.lit/2003/12/13/atom03'/>" + "<id>tag:denmark.lit,2003:entry-32397</id>" + "<published>2003-12-13T18:30:02Z</published>" + "<updated>2003-12-13T18:30:02Z</updated>" + "</entry>"; private IPubsubService commsService; private boolean testCompleted; public TestSocietiesAndroidPubsub() { super(ServicePlatformPubsubTest.class); } protected void setUp() throws Exception { super.setUp(); Intent pubsubIntent = new Intent(getContext(), ServicePlatformPubsubTest.class); LocalPlatformPubsubBinder binder = (LocalPlatformPubsubBinder) bindService(pubsubIntent); assertNotNull(binder); this.commsService = (IPubsubService) binder.getService(); assertTrue(this.commsService instanceof IPubsubService); assertNotNull(this.commsService); } protected void tearDown() throws Exception { this.commsService = null; super.tearDown(); } @MediumTest /** * Test starting the Pubsub service and the AndroidComms service * @throws Exception */ public void testConnectAndroidComms() throws Exception { this.testCompleted = false; BroadcastReceiver receiver = this.setupPubsubBroadcastReceiver(); this.commsService.bindToAndroidComms(CLIENT, BIND_CALLBACK_ID); Thread.sleep(DELAY); unregisterReceiver(receiver); assertTrue(this.testCompleted); } @MediumTest public void testSubscribeToNode() throws Exception { this.testCompleted = false; BroadcastReceiver receiver = this.setupSubscribeBroadcastReceiver(); this.commsService.bindToAndroidComms(CLIENT, BIND_CALLBACK_ID); Thread.sleep(DELAY); unregisterReceiver(receiver); assertTrue(this.testCompleted); } @MediumTest public void testOwnerCreateNode() throws Exception { this.testCompleted = false; BroadcastReceiver receiver = this.setupFullCycleBroadcastReceiver(); this.commsService.bindToAndroidComms(CLIENT, BIND_CALLBACK_ID); Thread.sleep(DELAY); unregisterReceiver(receiver); assertTrue(this.testCompleted); } @MediumTest public void testSendNodeEvent() throws Exception { this.testCompleted = false; BroadcastReceiver receiver = this.setupSendEventBroadcastReceiver(); this.commsService.bindToAndroidComms(CLIENT, BIND_CALLBACK_ID); Thread.sleep(DELAY); unregisterReceiver(receiver); assertTrue(this.testCompleted); } /** * Create broadcast receiver for Android Pubsub * and register it * * @return the created broadcast receiver */ private BroadcastReceiver setupPubsubBroadcastReceiver() { Log.d(LOG_TAG, "Set up Pubsub broadcast receiver"); BroadcastReceiver pubsubReceiver = new MainPubsubReceiver(); getContext().registerReceiver(pubsubReceiver, createPubsubIntentFilter()); Log.d(LOG_TAG, "Register Pubsub broadcast receiver"); return pubsubReceiver; } /** * Create broadcast receiver for Android Pubsub * and register it * * @return the created broadcast receiver */ private BroadcastReceiver setupSubscribeBroadcastReceiver() { Log.d(LOG_TAG, "Set up Pubsub Subscribe broadcast receiver"); BroadcastReceiver pubsubReceiver = new SubscribePubsubReceiver(); getContext().registerReceiver(pubsubReceiver, createPubsubIntentFilter()); Log.d(LOG_TAG, "Register Pubsub Subscribe broadcast receiver"); return pubsubReceiver; } /** * Create broadcast receiver for Android Pubsub * and register it * * @return the created broadcast receiver */ private BroadcastReceiver setupFullCycleBroadcastReceiver() { Log.d(LOG_TAG, "Set up Pubsub Full Cycle broadcast receiver"); BroadcastReceiver pubsubReceiver = new FullCycleReceiver(); getContext().registerReceiver(pubsubReceiver, createPubsubIntentFilter()); Log.d(LOG_TAG, "Register Pubsub Full Cycle broadcast receiver"); return pubsubReceiver; } /** * Create broadcast receiver for Android Pubsub * and register it * * @return the created broadcast receiver */ private BroadcastReceiver setupSendEventBroadcastReceiver() { Log.d(LOG_TAG, "Set up Pubsub Send Event broadcast receiver"); BroadcastReceiver pubsubReceiver = new SendEventReceiver(); getContext().registerReceiver(pubsubReceiver, createPubsubIntentFilter()); Log.d(LOG_TAG, "Register Pubsub Send Event broadcast receiver"); return pubsubReceiver; } /** * Unregister a broadcast receiver * @param receiver */ private void unregisterReceiver(BroadcastReceiver receiver) { Log.d(LOG_TAG, "Unregister broadcast receiver"); getContext().unregisterReceiver(receiver); } /** * Broadcast receiver to receive intent return values from service method calls */ private class MainPubsubReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { Log.d(LOG_TAG, "Received action: " + intent.getAction()); if (intent.getAction().equals(IPubsubService.DISCO_ITEMS)) { assertNotNull(intent.getStringArrayExtra(IPubsubService.INTENT_RETURN_VALUE_KEY)); } else if (intent.getAction().equals(IPubsubService.OWNER_CREATE)) { assertNotNull(intent.getStringExtra(IPubsubService.INTENT_RETURN_VALUE_KEY)); } else if (intent.getAction().equals(IPubsubService.OWNER_DELETE)) { assertNotNull(intent.getStringExtra(IPubsubService.INTENT_RETURN_VALUE_KEY)); } else if (intent.getAction().equals(IPubsubService.OWNER_PURGE_ITEMS)) { assertNotNull(intent.getStringExtra(IPubsubService.INTENT_RETURN_VALUE_KEY)); } else if (intent.getAction().equals(IPubsubService.PUBLISHER_DELETE)) { assertNotNull(intent.getStringExtra(IPubsubService.INTENT_RETURN_VALUE_KEY)); } else if (intent.getAction().equals(IPubsubService.PUBLISHER_PUBLISH)) { assertNotNull(intent.getStringExtra(IPubsubService.INTENT_RETURN_VALUE_KEY)); } else if (intent.getAction().equals(IPubsubService.SUBSCRIBER_SUBSCRIBE)) { assertNotNull(intent.getStringExtra(IPubsubService.INTENT_RETURN_VALUE_KEY)); } else if (intent.getAction().equals(IPubsubService.SUBSCRIBER_UNSUBSCRIBE)) { assertNotNull(intent.getStringExtra(IPubsubService.INTENT_RETURN_VALUE_KEY)); } else if (intent.getAction().equals(IPubsubService.BIND_TO_ANDROID_COMMS)) { assertTrue(intent.getBooleanExtra(IPubsubService.INTENT_RETURN_VALUE_KEY, false)); assertEquals(BIND_CALLBACK_ID, intent.getLongExtra(IPubsubService.INTENT_RETURN_CALL_ID_KEY, 0)); TestSocietiesAndroidPubsub.this.commsService.unBindFromAndroidComms(CLIENT, UNBIND_CALLBACK_ID); } else if (intent.getAction().equals(IPubsubService.UNBIND_FROM_ANDROID_COMMS)) { assertTrue(intent.getBooleanExtra(IPubsubService.INTENT_RETURN_VALUE_KEY, false)); assertEquals(UNBIND_CALLBACK_ID, intent.getLongExtra(IPubsubService.INTENT_RETURN_CALL_ID_KEY, 0)); TestSocietiesAndroidPubsub.this.testCompleted = true; } } } /** * Broadcast receiver to receive intent return values from service method calls */ private class SubscribePubsubReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { Log.d(LOG_TAG, "Received action: " + intent.getAction()); if (intent.getAction().equals(IPubsubService.DISCO_ITEMS)) { assertNotNull(intent.getStringArrayExtra(IPubsubService.INTENT_RETURN_VALUE_KEY)); } else if (intent.getAction().equals(IPubsubService.OWNER_CREATE)) { assertNotNull(intent.getStringExtra(IPubsubService.INTENT_RETURN_VALUE_KEY)); } else if (intent.getAction().equals(IPubsubService.OWNER_DELETE)) { assertNotNull(intent.getStringExtra(IPubsubService.INTENT_RETURN_VALUE_KEY)); } else if (intent.getAction().equals(IPubsubService.OWNER_PURGE_ITEMS)) { assertNotNull(intent.getStringExtra(IPubsubService.INTENT_RETURN_VALUE_KEY)); } else if (intent.getAction().equals(IPubsubService.PUBLISHER_DELETE)) { assertNotNull(intent.getStringExtra(IPubsubService.INTENT_RETURN_VALUE_KEY)); } else if (intent.getAction().equals(IPubsubService.PUBLISHER_PUBLISH)) { assertNotNull(intent.getStringExtra(IPubsubService.INTENT_RETURN_VALUE_KEY)); } else if (intent.getAction().equals(IPubsubService.SUBSCRIBER_SUBSCRIBE)) { assertNotNull(intent.getStringExtra(IPubsubService.INTENT_RETURN_VALUE_KEY)); assertEquals(SUBSCRIBE_CALLBACK_ID, intent.getLongExtra(IPubsubService.INTENT_RETURN_CALL_ID_KEY, 0)); Log.d(LOG_TAG, "Subscribe response: " + intent.getStringExtra(IPubsubService.INTENT_RETURN_VALUE_KEY)); TestSocietiesAndroidPubsub.this.commsService.subscriberUnsubscribe(CLIENT, XMPP_SUCCESSFUL_CLOUD_NODE, ADD_CSS_NODE, UNSUBSCRIBE_CALLBACK_ID); } else if (intent.getAction().equals(IPubsubService.SUBSCRIBER_UNSUBSCRIBE)) { assertEquals(UNSUBSCRIBE_CALLBACK_ID, intent.getLongExtra(IPubsubService.INTENT_RETURN_CALL_ID_KEY, 0)); assertNotNull(intent.getStringExtra(IPubsubService.INTENT_RETURN_VALUE_KEY)); TestSocietiesAndroidPubsub.this.commsService.unBindFromAndroidComms(CLIENT, UNBIND_CALLBACK_ID); } else if (intent.getAction().equals(IPubsubService.BIND_TO_ANDROID_COMMS)) { assertTrue(intent.getBooleanExtra(IPubsubService.INTENT_RETURN_VALUE_KEY, false)); assertEquals(BIND_CALLBACK_ID, intent.getLongExtra(IPubsubService.INTENT_RETURN_CALL_ID_KEY, 0)); TestSocietiesAndroidPubsub.this.commsService.subscriberSubscribe(CLIENT, XMPP_SUCCESSFUL_CLOUD_NODE, ADD_CSS_NODE, SUBSCRIBE_CALLBACK_ID); } else if (intent.getAction().equals(IPubsubService.UNBIND_FROM_ANDROID_COMMS)) { assertTrue(intent.getBooleanExtra(IPubsubService.INTENT_RETURN_VALUE_KEY, false)); assertEquals(UNBIND_CALLBACK_ID, intent.getLongExtra(IPubsubService.INTENT_RETURN_CALL_ID_KEY, 0)); TestSocietiesAndroidPubsub.this.testCompleted = true; } } } /** * Broadcast receiver to receive intent return values from service method calls */ private class FullCycleReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { Log.d(LOG_TAG, "Received action: " + intent.getAction()); if (intent.getAction().equals(IPubsubService.DISCO_ITEMS)) { assertNotNull(intent.getStringArrayExtra(IPubsubService.INTENT_RETURN_VALUE_KEY)); } else if (intent.getAction().equals(IPubsubService.OWNER_CREATE)) { assertNotNull(intent.getStringExtra(IPubsubService.INTENT_RETURN_VALUE_KEY)); assertEquals(OWNER_CREATE_ID, intent.getLongExtra(IPubsubService.INTENT_RETURN_CALL_ID_KEY, 0)); TestSocietiesAndroidPubsub.this.commsService.subscriberSubscribe(CLIENT, XMPP_SUCCESSFUL_CLOUD_NODE, TEST_PUBSUB_NODE_1, SUBSCRIBE_CALLBACK_ID); } else if (intent.getAction().equals(IPubsubService.OWNER_DELETE)) { assertEquals(OWNER_DELETE_ID, intent.getLongExtra(IPubsubService.INTENT_RETURN_CALL_ID_KEY, 0)); assertNotNull(intent.getStringExtra(IPubsubService.INTENT_RETURN_VALUE_KEY)); TestSocietiesAndroidPubsub.this.commsService.unBindFromAndroidComms(CLIENT, UNBIND_CALLBACK_ID); } else if (intent.getAction().equals(IPubsubService.OWNER_PURGE_ITEMS)) { assertNotNull(intent.getStringExtra(IPubsubService.INTENT_RETURN_VALUE_KEY)); } else if (intent.getAction().equals(IPubsubService.PUBLISHER_DELETE)) { assertNotNull(intent.getStringExtra(IPubsubService.INTENT_RETURN_VALUE_KEY)); } else if (intent.getAction().equals(IPubsubService.PUBLISHER_PUBLISH)) { assertNotNull(intent.getStringExtra(IPubsubService.INTENT_RETURN_VALUE_KEY)); } else if (intent.getAction().equals(IPubsubService.SUBSCRIBER_SUBSCRIBE)) { assertNotNull(intent.getStringExtra(IPubsubService.INTENT_RETURN_VALUE_KEY)); assertEquals(SUBSCRIBE_CALLBACK_ID, intent.getLongExtra(IPubsubService.INTENT_RETURN_CALL_ID_KEY, 0)); TestSocietiesAndroidPubsub.this.commsService.subscriberUnsubscribe(CLIENT, XMPP_SUCCESSFUL_CLOUD_NODE, TEST_PUBSUB_NODE_1, UNSUBSCRIBE_CALLBACK_ID); } else if (intent.getAction().equals(IPubsubService.SUBSCRIBER_UNSUBSCRIBE)) { assertEquals(UNSUBSCRIBE_CALLBACK_ID, intent.getLongExtra(IPubsubService.INTENT_RETURN_CALL_ID_KEY, 0)); assertNotNull(intent.getStringExtra(IPubsubService.INTENT_RETURN_VALUE_KEY)); TestSocietiesAndroidPubsub.this.commsService.ownerDelete(CLIENT, XMPP_SUCCESSFUL_CLOUD_NODE, TEST_PUBSUB_NODE_1, OWNER_DELETE_ID); } else if (intent.getAction().equals(IPubsubService.BIND_TO_ANDROID_COMMS)) { assertTrue(intent.getBooleanExtra(IPubsubService.INTENT_RETURN_VALUE_KEY, false)); assertEquals(BIND_CALLBACK_ID, intent.getLongExtra(IPubsubService.INTENT_RETURN_CALL_ID_KEY, 0)); TestSocietiesAndroidPubsub.this.commsService.ownerCreate(CLIENT, XMPP_SUCCESSFUL_CLOUD_NODE, TEST_PUBSUB_NODE_1, OWNER_CREATE_ID); } else if (intent.getAction().equals(IPubsubService.UNBIND_FROM_ANDROID_COMMS)) { assertTrue(intent.getBooleanExtra(IPubsubService.INTENT_RETURN_VALUE_KEY, false)); assertEquals(UNBIND_CALLBACK_ID, intent.getLongExtra(IPubsubService.INTENT_RETURN_CALL_ID_KEY, 0)); TestSocietiesAndroidPubsub.this.testCompleted = true; } } } /** * Broadcast receiver to receive intent return values from service method calls */ private class SendEventReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { Log.d(LOG_TAG, "Received action: " + intent.getAction()); if (intent.getAction().equals(IPubsubService.DISCO_ITEMS)) { assertNotNull(intent.getStringArrayExtra(IPubsubService.INTENT_RETURN_VALUE_KEY)); } else if (intent.getAction().equals(IPubsubService.OWNER_CREATE)) { assertNotNull(intent.getStringExtra(IPubsubService.INTENT_RETURN_VALUE_KEY)); assertEquals(OWNER_CREATE_ID, intent.getLongExtra(IPubsubService.INTENT_RETURN_CALL_ID_KEY, 0)); TestSocietiesAndroidPubsub.this.commsService.subscriberSubscribe(CLIENT, XMPP_SUCCESSFUL_CLOUD_NODE, TEST_PUBSUB_NODE_2, SUBSCRIBE_CALLBACK_ID); } else if (intent.getAction().equals(IPubsubService.OWNER_DELETE)) { assertEquals(OWNER_DELETE_ID, intent.getLongExtra(IPubsubService.INTENT_RETURN_CALL_ID_KEY, 0)); assertNotNull(intent.getStringExtra(IPubsubService.INTENT_RETURN_VALUE_KEY)); TestSocietiesAndroidPubsub.this.commsService.unBindFromAndroidComms(CLIENT, UNBIND_CALLBACK_ID); } else if (intent.getAction().equals(IPubsubService.OWNER_PURGE_ITEMS)) { assertNotNull(intent.getStringExtra(IPubsubService.INTENT_RETURN_VALUE_KEY)); } else if (intent.getAction().equals(IPubsubService.PUBLISHER_DELETE)) { assertNotNull(intent.getStringExtra(IPubsubService.INTENT_RETURN_VALUE_KEY)); } else if (intent.getAction().equals(IPubsubService.PUBLISHER_PUBLISH)) { assertNotNull(intent.getStringExtra(IPubsubService.INTENT_RETURN_VALUE_KEY)); assertEquals(PUBLISHER_PUBLISH_ID, intent.getLongExtra(IPubsubService.INTENT_RETURN_CALL_ID_KEY, 0)); } else if (intent.getAction().equals(IPubsubService.SUBSCRIBER_SUBSCRIBE)) { assertNotNull(intent.getStringExtra(IPubsubService.INTENT_RETURN_VALUE_KEY)); assertEquals(SUBSCRIBE_CALLBACK_ID, intent.getLongExtra(IPubsubService.INTENT_RETURN_CALL_ID_KEY, 0)); TestSocietiesAndroidPubsub.this.commsService.publisherPublish(CLIENT, XMPP_SUCCESSFUL_CLOUD_NODE, TEST_PUBSUB_NODE_2, "ID11", PUBSUB_ITEM, PUBLISHER_PUBLISH_ID); } else if (intent.getAction().equals(IPubsubService.SUBSCRIBER_UNSUBSCRIBE)) { assertEquals(UNSUBSCRIBE_CALLBACK_ID, intent.getLongExtra(IPubsubService.INTENT_RETURN_CALL_ID_KEY, 0)); assertNotNull(intent.getStringExtra(IPubsubService.INTENT_RETURN_VALUE_KEY)); TestSocietiesAndroidPubsub.this.commsService.ownerDelete(CLIENT, XMPP_SUCCESSFUL_CLOUD_NODE, TEST_PUBSUB_NODE_2, OWNER_DELETE_ID); } else if (intent.getAction().equals(IPubsubService.BIND_TO_ANDROID_COMMS)) { assertTrue(intent.getBooleanExtra(IPubsubService.INTENT_RETURN_VALUE_KEY, false)); assertEquals(BIND_CALLBACK_ID, intent.getLongExtra(IPubsubService.INTENT_RETURN_CALL_ID_KEY, 0)); TestSocietiesAndroidPubsub.this.commsService.ownerCreate(CLIENT, XMPP_SUCCESSFUL_CLOUD_NODE, TEST_PUBSUB_NODE_2, OWNER_CREATE_ID); } else if (intent.getAction().equals(IPubsubService.UNBIND_FROM_ANDROID_COMMS)) { assertTrue(intent.getBooleanExtra(IPubsubService.INTENT_RETURN_VALUE_KEY, false)); assertEquals(UNBIND_CALLBACK_ID, intent.getLongExtra(IPubsubService.INTENT_RETURN_CALL_ID_KEY, 0)); TestSocietiesAndroidPubsub.this.testCompleted = true; } else if (intent.getAction().equals(XMPPAgent.PUBSUB_EVENT)) { assertNotNull(intent.getStringExtra(XMPPAgent.INTENT_RETURN_VALUE_KEY)); Log.d(LOG_TAG, intent.getStringExtra(XMPPAgent.INTENT_RETURN_VALUE_KEY)); TestSocietiesAndroidPubsub.this.commsService.subscriberUnsubscribe(CLIENT, XMPP_SUCCESSFUL_CLOUD_NODE, TEST_PUBSUB_NODE_2, UNSUBSCRIBE_CALLBACK_ID); } } } /** * Create a suitable intent filter * @return IntentFilter */ private IntentFilter createPubsubIntentFilter() { //register broadcast receiver to receive SocietiesEvents return values IntentFilter intentFilter = new IntentFilter(); intentFilter.addAction(IPubsubService.DISCO_ITEMS); intentFilter.addAction(IPubsubService.OWNER_CREATE); intentFilter.addAction(IPubsubService.OWNER_DELETE); intentFilter.addAction(IPubsubService.OWNER_PURGE_ITEMS); intentFilter.addAction(IPubsubService.PUBLISHER_DELETE); intentFilter.addAction(IPubsubService.PUBLISHER_PUBLISH); intentFilter.addAction(IPubsubService.SUBSCRIBER_SUBSCRIBE); intentFilter.addAction(IPubsubService.SUBSCRIBER_UNSUBSCRIBE); intentFilter.addAction(IPubsubService.BIND_TO_ANDROID_COMMS); intentFilter.addAction(IPubsubService.UNBIND_FROM_ANDROID_COMMS); intentFilter.addAction(XMPPAgent.PUBSUB_EVENT); return intentFilter; } /** * Create a suitable intent filter * @return IntentFilter */ private IntentFilter createAndroidCommsIntentFilter() { //register broadcast receiver to receive SocietiesEvents return values IntentFilter intentFilter = new IntentFilter(); intentFilter.addAction(XMPPAgent.UN_REGISTER_COMM_MANAGER_RESULT); intentFilter.addAction(XMPPAgent.DESTROY_MAIN_IDENTITY); intentFilter.addAction(XMPPAgent.GET_DOMAIN_AUTHORITY_NODE); intentFilter.addAction(XMPPAgent.GET_IDENTITY); intentFilter.addAction(XMPPAgent.GET_ITEMS_RESULT); intentFilter.addAction(XMPPAgent.IS_CONNECTED); intentFilter.addAction(XMPPAgent.LOGIN); intentFilter.addAction(XMPPAgent.LOGOUT); intentFilter.addAction(XMPPAgent.UN_REGISTER_COMM_MANAGER_EXCEPTION); return intentFilter; } }