Search in sources :

Example 1 with WaitForBroadcastReceiver

use of com.facebook.WaitForBroadcastReceiver in project facebook-android-sdk by facebook.

the class AppEventsLoggerTests method testExplicitCallWithNoAppSettings.

public void testExplicitCallWithNoAppSettings() throws InterruptedException {
    AppEventsLogger.setFlushBehavior(AppEventsLogger.FlushBehavior.EXPLICIT_ONLY);
    AccessToken accessToken1 = getFakeAccessToken();
    FacebookSdk.setApplicationId("234");
    AppEventsLogger logger1 = AppEventsLogger.newLogger(getActivity(), accessToken1);
    final WaitForBroadcastReceiver waitForBroadcastReceiver = new WaitForBroadcastReceiver();
    waitForBroadcastReceiver.incrementExpectCount();
    final LocalBroadcastManager broadcastManager = LocalBroadcastManager.getInstance(getActivity());
    try {
        // Need to get notifications on another thread so we can wait for them.
        runOnBlockerThread(new Runnable() {

            @Override
            public void run() {
                broadcastManager.registerReceiver(waitForBroadcastReceiver, new IntentFilter(AppEventsLogger.ACTION_APP_EVENTS_FLUSHED));
            }
        }, true);
        logger1.logEvent("an_event");
        logger1.flush();
        waitForBroadcastReceiver.waitForExpectedCalls();
        closeBlockerAndAssertSuccess();
    } finally {
        broadcastManager.unregisterReceiver(waitForBroadcastReceiver);
    }
}
Also used : IntentFilter(android.content.IntentFilter) WaitForBroadcastReceiver(com.facebook.WaitForBroadcastReceiver) AccessToken(com.facebook.AccessToken) AppEventsLogger(com.facebook.appevents.AppEventsLogger) LocalBroadcastManager(android.support.v4.content.LocalBroadcastManager)

Example 2 with WaitForBroadcastReceiver

use of com.facebook.WaitForBroadcastReceiver in project facebook-android-sdk by facebook.

the class AppEventsLoggerTests method testSimpleCall.

public void testSimpleCall() throws InterruptedException {
    AppEventsLogger.setFlushBehavior(AppEventsLogger.FlushBehavior.EXPLICIT_ONLY);
    AccessToken accessToken1 = getAccessTokenForSharedUser();
    AccessToken accessToken2 = getAccessTokenForSharedUser(SECOND_TEST_USER_TAG);
    AppEventsLogger logger1 = AppEventsLogger.newLogger(getActivity(), accessToken1);
    AppEventsLogger logger2 = AppEventsLogger.newLogger(getActivity(), accessToken2);
    final WaitForBroadcastReceiver waitForBroadcastReceiver = new WaitForBroadcastReceiver();
    waitForBroadcastReceiver.incrementExpectCount();
    final LocalBroadcastManager broadcastManager = LocalBroadcastManager.getInstance(getActivity());
    try {
        // Need to get notifications on another thread so we can wait for them.
        runOnBlockerThread(new Runnable() {

            @Override
            public void run() {
                broadcastManager.registerReceiver(waitForBroadcastReceiver, new IntentFilter(AppEventsLogger.ACTION_APP_EVENTS_FLUSHED));
            }
        }, true);
        logger1.logEvent("an_event");
        logger2.logEvent("another_event");
        // test illegal event name and event key, should not crash in non-debug environment.
        logger1.logEvent("$illegal_event_name");
        Bundle params = new Bundle();
        params.putString("illegal%key", "good_value");
        logger1.logEvent("legal_event_name", params);
        char[] val = { 'b', 'a', 'd' };
        params.putCharArray("legal_key", val);
        logger1.logEvent("legal_event", params);
        logger1.flush();
        waitForBroadcastReceiver.waitForExpectedCalls();
        closeBlockerAndAssertSuccess();
    } finally {
        broadcastManager.unregisterReceiver(waitForBroadcastReceiver);
    }
}
Also used : IntentFilter(android.content.IntentFilter) WaitForBroadcastReceiver(com.facebook.WaitForBroadcastReceiver) AccessToken(com.facebook.AccessToken) Bundle(android.os.Bundle) AppEventsLogger(com.facebook.appevents.AppEventsLogger) LocalBroadcastManager(android.support.v4.content.LocalBroadcastManager)

Aggregations

IntentFilter (android.content.IntentFilter)2 LocalBroadcastManager (android.support.v4.content.LocalBroadcastManager)2 AccessToken (com.facebook.AccessToken)2 WaitForBroadcastReceiver (com.facebook.WaitForBroadcastReceiver)2 AppEventsLogger (com.facebook.appevents.AppEventsLogger)2 Bundle (android.os.Bundle)1