Search in sources :

Example 1 with UserCredentials

use of com.alexstyl.specialdates.facebook.UserCredentials in project Memento-Calendar by alexstyl.

the class FacebookFriendsIntentService method onHandleIntent.

@Override
protected void onHandleIntent(@Nullable Intent intent) {
    FacebookCalendarLoader calendarLoader = new FacebookCalendarLoader();
    FacebookContactFactory factory = new FacebookContactFactory(parser);
    ContactEventSerialiser serialiser = new ContactEventSerialiser(factory, tracker);
    FacebookBirthdaysProvider calendarFetcher = new FacebookBirthdaysProvider(calendarLoader, serialiser);
    UserCredentials userCredentials = facebookUserSettings.retrieveCredentials();
    if (isAnnonymous(userCredentials)) {
        tracker.track(new RuntimeException("Tried to fetch events, but was anonymous"));
        return;
    }
    CalendarURLCreator calendarURLCreator = new CalendarURLCreator(tracker);
    URL calendarUrl = calendarURLCreator.createFrom(userCredentials);
    FacebookFriendsPersister persister = new FacebookFriendsPersister(new AndroidPeopleEventsPersister(new EventSQLiteOpenHelper(this), marshaller, tracker));
    try {
        List<ContactEvent> friends = calendarFetcher.fetchCalendarFrom(calendarUrl);
        persister.keepOnly(friends);
        uiRefresher.refreshViews();
    } catch (CalendarFetcherException e) {
        tracker.track(e);
    }
    if (BuildConfig.DEBUG) {
        notifyServiceRan();
    }
}
Also used : EventSQLiteOpenHelper(com.alexstyl.specialdates.events.database.EventSQLiteOpenHelper) URL(java.net.URL) ContactEvent(com.alexstyl.specialdates.date.ContactEvent) AndroidPeopleEventsPersister(com.alexstyl.specialdates.events.peopleevents.AndroidPeopleEventsPersister) UserCredentials(com.alexstyl.specialdates.facebook.UserCredentials)

Example 2 with UserCredentials

use of com.alexstyl.specialdates.facebook.UserCredentials in project Memento-Calendar by alexstyl.

the class FacebookLogInActivity method onCreate.

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    AppComponent applicationModule = ((MementoApplication) getApplication()).getApplicationModule();
    applicationModule.inject(this);
    analytics.trackScreen(Screen.FACEBOOK_LOG_IN);
    setContentView(R.layout.activity_facebook_log_in);
    Toolbar toolbar = Views.findById(this, R.id.memento_toolbar);
    setSupportActionBar(toolbar);
    avatar = Views.findById(this, R.id.facebook_import_avatar);
    helloView = Views.findById(this, R.id.facebook_import_hello);
    moreText = Views.findById(this, R.id.facebook_import_description);
    progress = Views.findById(this, R.id.progress);
    shareButton = Views.findById(this, R.id.facebook_import_share);
    shareButton.setOnClickListener(shareAppIntentOnClick());
    closeButton = Views.findById(this, R.id.facebook_import_close);
    closeButton.setOnClickListener(onCloseButtonPressed());
    webView = Views.findById(this, R.id.facebook_import_webview);
    orientationLock = new ScreenOrientationLock();
    facebookFriendsScheduler = new FacebookFriendsScheduler(thisActivity(), (AlarmManager) getSystemService(ALARM_SERVICE));
    webView.setCallback(facebookCallback);
    UserCredentials userCredentials = facebookUserSettings.retrieveCredentials();
    if (savedInstanceState == null || userCredentials.equals(UserCredentials.ANNONYMOUS)) {
        new CookieResetter(CookieManager.getInstance()).clearAll();
        webView.loadLogInPage();
    } else {
        showData(userCredentials);
    }
}
Also used : MementoApplication(com.alexstyl.specialdates.MementoApplication) AppComponent(com.alexstyl.specialdates.AppComponent) ScreenOrientationLock(com.alexstyl.specialdates.facebook.ScreenOrientationLock) FacebookFriendsScheduler(com.alexstyl.specialdates.facebook.friendimport.FacebookFriendsScheduler) AlarmManager(android.app.AlarmManager) UserCredentials(com.alexstyl.specialdates.facebook.UserCredentials) Toolbar(android.support.v7.widget.Toolbar)

Aggregations

UserCredentials (com.alexstyl.specialdates.facebook.UserCredentials)2 AlarmManager (android.app.AlarmManager)1 Toolbar (android.support.v7.widget.Toolbar)1 AppComponent (com.alexstyl.specialdates.AppComponent)1 MementoApplication (com.alexstyl.specialdates.MementoApplication)1 ContactEvent (com.alexstyl.specialdates.date.ContactEvent)1 EventSQLiteOpenHelper (com.alexstyl.specialdates.events.database.EventSQLiteOpenHelper)1 AndroidPeopleEventsPersister (com.alexstyl.specialdates.events.peopleevents.AndroidPeopleEventsPersister)1 ScreenOrientationLock (com.alexstyl.specialdates.facebook.ScreenOrientationLock)1 FacebookFriendsScheduler (com.alexstyl.specialdates.facebook.friendimport.FacebookFriendsScheduler)1 URL (java.net.URL)1