Search in sources :

Example 1 with EventSQLiteOpenHelper

use of com.alexstyl.specialdates.events.database.EventSQLiteOpenHelper in project Memento-Calendar by alexstyl.

the class DebugPeopleEventsUpdater method newInstance.

public static DebugPeopleEventsUpdater newInstance(Context context, NamedayUserSettings namedayUserSettings, ContactsProvider contactsProvider, CrashAndErrorTracker tracker, DateParser dateParser) {
    AndroidPeopleEventsRepository repository = new AndroidPeopleEventsRepository(context.getContentResolver(), contactsProvider, dateParser, tracker);
    AndroidPeopleEventsPersister databaseProvider = new AndroidPeopleEventsPersister(new EventSQLiteOpenHelper(context), new ContactEventsMarshaller(), tracker);
    PeopleEventsStaticEventsRefresher databaseRefresher = new PeopleEventsStaticEventsRefresher(repository, databaseProvider);
    AndroidJSONResourceLoader loader = new AndroidJSONResourceLoader(context.getResources());
    NamedayCalendarProvider namedayCalendarProvider = new NamedayCalendarProvider(new NamedayJSONProvider(loader), new SpecialNamedaysHandlerFactory());
    PeopleDynamicNamedaysProvider peopleDynamicNamedaysProvider = new PeopleDynamicNamedaysProvider(namedayUserSettings, namedayCalendarProvider, contactsProvider);
    return new DebugPeopleEventsUpdater(databaseRefresher, new NamedayDatabaseRefresher(namedayUserSettings, databaseProvider, peopleDynamicNamedaysProvider));
}
Also used : SpecialNamedaysHandlerFactory(com.alexstyl.specialdates.events.namedays.calendar.resource.SpecialNamedaysHandlerFactory) AndroidJSONResourceLoader(com.alexstyl.specialdates.events.namedays.calendar.resource.AndroidJSONResourceLoader) NamedayJSONProvider(com.alexstyl.specialdates.events.namedays.calendar.resource.NamedayJSONProvider) NamedayDatabaseRefresher(com.alexstyl.specialdates.events.namedays.NamedayDatabaseRefresher) EventSQLiteOpenHelper(com.alexstyl.specialdates.events.database.EventSQLiteOpenHelper) NamedayCalendarProvider(com.alexstyl.specialdates.events.namedays.calendar.resource.NamedayCalendarProvider)

Example 2 with EventSQLiteOpenHelper

use of com.alexstyl.specialdates.events.database.EventSQLiteOpenHelper 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 3 with EventSQLiteOpenHelper

use of com.alexstyl.specialdates.events.database.EventSQLiteOpenHelper in project Memento-Calendar by alexstyl.

the class FacebookProfileActivity method onCreate.

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    AppComponent applicationModule = ((MementoApplication) getApplication()).getApplicationModule();
    applicationModule.inject(this);
    analytics.trackScreen(Screen.FACEBOOK_PROFILE);
    setContentView(R.layout.activity_facebook_profile);
    setupToolbar();
    profilePicture = findById(this, R.id.facebook_profile_avatar);
    userName = findById(this, R.id.facebook_profile_name);
    findById(this, R.id.facebook_profile_fb_page).setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            navigator.toFacebookPage();
        }
    });
    FacebookFriendsPersister persister = new FacebookFriendsPersister(new AndroidPeopleEventsPersister(new EventSQLiteOpenHelper(this), marshaller, tracker));
    navigator = new ExternalNavigator(this, analytics, tracker);
    FacebookLogoutService service = new FacebookLogoutService(AndroidSchedulers.mainThread(), facebookSettings, persister, uiRefresher, onLogOut());
    presenter = new FacebookProfilePresenter(service, this, facebookSettings);
    presenter.startPresenting();
}
Also used : FacebookFriendsPersister(com.alexstyl.specialdates.facebook.friendimport.FacebookFriendsPersister) ExternalNavigator(com.alexstyl.specialdates.ExternalNavigator) AndroidPeopleEventsPersister(com.alexstyl.specialdates.events.peopleevents.AndroidPeopleEventsPersister) MementoApplication(com.alexstyl.specialdates.MementoApplication) AppComponent(com.alexstyl.specialdates.AppComponent) EventSQLiteOpenHelper(com.alexstyl.specialdates.events.database.EventSQLiteOpenHelper) ImageView(android.widget.ImageView) View(android.view.View) TextView(android.widget.TextView)

Aggregations

EventSQLiteOpenHelper (com.alexstyl.specialdates.events.database.EventSQLiteOpenHelper)3 AndroidPeopleEventsPersister (com.alexstyl.specialdates.events.peopleevents.AndroidPeopleEventsPersister)2 View (android.view.View)1 ImageView (android.widget.ImageView)1 TextView (android.widget.TextView)1 AppComponent (com.alexstyl.specialdates.AppComponent)1 ExternalNavigator (com.alexstyl.specialdates.ExternalNavigator)1 MementoApplication (com.alexstyl.specialdates.MementoApplication)1 ContactEvent (com.alexstyl.specialdates.date.ContactEvent)1 NamedayDatabaseRefresher (com.alexstyl.specialdates.events.namedays.NamedayDatabaseRefresher)1 AndroidJSONResourceLoader (com.alexstyl.specialdates.events.namedays.calendar.resource.AndroidJSONResourceLoader)1 NamedayCalendarProvider (com.alexstyl.specialdates.events.namedays.calendar.resource.NamedayCalendarProvider)1 NamedayJSONProvider (com.alexstyl.specialdates.events.namedays.calendar.resource.NamedayJSONProvider)1 SpecialNamedaysHandlerFactory (com.alexstyl.specialdates.events.namedays.calendar.resource.SpecialNamedaysHandlerFactory)1 UserCredentials (com.alexstyl.specialdates.facebook.UserCredentials)1 FacebookFriendsPersister (com.alexstyl.specialdates.facebook.friendimport.FacebookFriendsPersister)1 URL (java.net.URL)1