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));
}
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();
}
}
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();
}
Aggregations