Search in sources :

Example 1 with NamedayLocale

use of com.alexstyl.specialdates.events.namedays.NamedayLocale in project Memento-Calendar by alexstyl.

the class DailyReminderIntentService method notifyForNamedaysFor.

private void notifyForNamedaysFor(Date date) {
    NamedayLocale locale = namedayPreferences.getSelectedLanguage();
    NamedayCalendar namedayCalendar = namedayCalendarProvider.loadNamedayCalendarForLocale(locale, date.getYear());
    NamesInADate names = namedayCalendar.getAllNamedaysOn(date);
    if (containsNames(names)) {
        notifier.forNamedays(names.getNames(), date);
    }
}
Also used : NamedayCalendar(com.alexstyl.specialdates.events.namedays.calendar.NamedayCalendar) NamedayLocale(com.alexstyl.specialdates.events.namedays.NamedayLocale) NamesInADate(com.alexstyl.specialdates.events.namedays.NamesInADate)

Example 2 with NamedayLocale

use of com.alexstyl.specialdates.events.namedays.NamedayLocale in project Memento-Calendar by alexstyl.

the class MainPreferenceFragment method onCreate.

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    AppComponent applicationModule = ((MementoApplication) getActivity().getApplication()).getApplicationModule();
    applicationModule.inject(this);
    addPreferencesFromResource(R.xml.preference_main);
    themingPreferences = ThemingPreferences.newInstance(getActivity());
    appThemePreference = findPreference(R.string.key_app_theme_id);
    appThemePreference.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {

        @Override
        public boolean onPreferenceClick(Preference preference) {
            ThemeSelectDialog dialog = new ThemeSelectDialog();
            dialog.setOnThemeSelectedListener(themeSelectedListener);
            dialog.show(getFragmentManager(), FM_THEME_TAG);
            return true;
        }
    });
    findPreference(R.string.key_enable_bank_holidays).setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {

        @Override
        public boolean onPreferenceChange(Preference preference, Object o) {
            eventPresenter.updateEventOptions();
            return true;
        }
    });
    Preference bankholidaysLanguage = findPreference(R.string.key_bankholidays_language);
    bankholidaysLanguage.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {

        @Override
        public boolean onPreferenceClick(Preference preference) {
            new OnlyGreekSupportedDialog().show(getFragmentManager(), "OnlyGreek");
            return true;
        }
    });
    findPreference(R.string.key_enable_namedays).setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {

        @Override
        public boolean onPreferenceChange(Preference preference, Object newValue) {
            boolean enabled = (boolean) newValue;
            tracker.onNamedayLocaleChanged(enabled ? getLocale() : null);
            eventPresenter.refreshPeopleEvents();
            return true;
        }
    });
    namedayLanguageListPreferences = findPreference(R.string.key_namedays_language);
    namedayLanguageListPreferences.setOnNamedayLocaleChangeListener(new NamedayListPreference.OnNamedayLocaleChangeListener() {

        @Override
        public boolean onNamedayChanged(NamedayLocale locale) {
            namedaysPreferences.setSelectedLanguage(locale.getCountryCode());
            namedayLanguageListPreferences.setSummary(strings.localeName(locale));
            eventPresenter.refreshPeopleEvents();
            return true;
        }
    });
    findPreference(R.string.key_namedays_contacts_only).setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {

        @Override
        public boolean onPreferenceChange(Preference preference, Object newValue) {
            namedaysPreferences.setEnabledForContactsOnly((boolean) newValue);
            eventPresenter.updateEventOptions();
            return true;
        }
    });
    findPreference(R.string.key_namedays_full_name).setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {

        @Override
        public boolean onPreferenceChange(Preference preference, Object o) {
            eventPresenter.refreshPeopleEvents();
            return true;
        }
    });
    final Preference restorePreference = findPreference("key_donate_restore");
    donationService = new AndroidDonationService(new IabHelper(getActivity(), AndroidDonationConstants.PUBLIC_KEY), getActivity(), DonationPreferences.newInstance(getActivity()), analytics, tracker, donateMonitor);
    donationService.setup(new DonationCallbacks() {

        @Override
        public void onDonateException(String message) {
            getPreferenceScreen().removePreference(restorePreference);
        }

        @Override
        public void onDonationFinished(Donation donation) {
        // do nothing
        }
    });
    restorePreference.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {

        @Override
        public boolean onPreferenceClick(Preference preference) {
            donationService.restoreDonations();
            return true;
        }
    });
    eventPresenter.startMonitoring();
    reattachThemeDialogIfNeeded();
}
Also used : DonationCallbacks(com.alexstyl.specialdates.donate.DonationCallbacks) NamedayLocale(com.alexstyl.specialdates.events.namedays.NamedayLocale) MementoApplication(com.alexstyl.specialdates.MementoApplication) IabHelper(com.alexstyl.specialdates.donate.util.IabHelper) AndroidDonationService(com.alexstyl.specialdates.donate.AndroidDonationService) Preference(android.preference.Preference) AppComponent(com.alexstyl.specialdates.AppComponent) Donation(com.alexstyl.specialdates.donate.Donation)

Example 3 with NamedayLocale

use of com.alexstyl.specialdates.events.namedays.NamedayLocale in project Memento-Calendar by alexstyl.

the class UserSettingsFragment method onCreate.

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    AppComponent applicationModule = ((MementoApplication) getActivity().getApplication()).getApplicationModule();
    applicationModule.inject(this);
    addPreferencesFromResource(R.xml.preference_main);
    themingPreferences = ThemingPreferences.Companion.newInstance(getActivity());
    dailyReminderOreoChannelCreator.createDailyReminderChannel();
    appThemePreference = findPreference(R.string.key_app_theme_id);
    appThemePreference.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {

        @Override
        public boolean onPreferenceClick(Preference preference) {
            ThemeSelectDialog dialog = new ThemeSelectDialog();
            dialog.setOnThemeSelectedListener(themeSelectedListener);
            dialog.show(getFragmentManager(), FM_THEME_TAG);
            return true;
        }
    });
    findPreference(R.string.key_enable_bank_holidays).setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {

        @Override
        public boolean onPreferenceChange(Preference preference, Object o) {
            eventPresenter.updateEventOptions();
            return true;
        }
    });
    Preference bankholidaysLanguage = findPreference(R.string.key_bankholidays_language);
    bankholidaysLanguage.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {

        @Override
        public boolean onPreferenceClick(Preference preference) {
            new OnlyGreekSupportedDialog().show(getFragmentManager(), "OnlyGreek");
            return true;
        }
    });
    findPreference(R.string.key_enable_namedays).setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {

        @Override
        public boolean onPreferenceChange(Preference preference, Object newValue) {
            boolean enabled = (boolean) newValue;
            tracker.onNamedayLocaleChanged(enabled ? getLocale() : null);
            eventPresenter.refreshPeopleEvents();
            return true;
        }
    });
    namedayLanguageListPreferences = findPreference(R.string.key_namedays_language);
    namedayLanguageListPreferences.setOnNamedayLocaleChangeListener(new NamedayListPreference.OnNamedayLocaleChangeListener() {

        @Override
        public boolean onNamedayChanged(NamedayLocale locale) {
            namedaysPreferences.setSelectedLanguage(locale.getCountryCode());
            namedayLanguageListPreferences.setSummary(strings.localeName(locale));
            eventPresenter.refreshPeopleEvents();
            return true;
        }
    });
    findPreference(R.string.key_namedays_contacts_only).setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {

        @Override
        public boolean onPreferenceChange(Preference preference, Object newValue) {
            namedaysPreferences.setEnabledForContactsOnly((boolean) newValue);
            eventPresenter.updateEventOptions();
            return true;
        }
    });
    findPreference(R.string.key_namedays_full_name).setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {

        @Override
        public boolean onPreferenceChange(Preference preference, Object o) {
            eventPresenter.refreshPeopleEvents();
            return true;
        }
    });
    final Preference restorePreference = findPreference("key_donate_restore");
    donationService = new AndroidDonationService(new IabHelper(getActivity(), AndroidDonationConstants.PUBLIC_KEY), getActivity(), DonationPreferences.newInstance(getActivity()), analytics, tracker, donateMonitor);
    donationService.setup(new DonationCallbacks() {

        @Override
        public void onDonateException(String message) {
            getPreferenceScreen().removePreference(restorePreference);
        }

        @Override
        public void onDonationFinished(Donation donation) {
        // do nothing
        }
    });
    restorePreference.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {

        @Override
        public boolean onPreferenceClick(Preference preference) {
            donationService.restoreDonations();
            return true;
        }
    });
    eventPresenter.startMonitoring();
    reattachThemeDialogIfNeeded();
}
Also used : DonationCallbacks(com.alexstyl.specialdates.donate.DonationCallbacks) NamedayLocale(com.alexstyl.specialdates.events.namedays.NamedayLocale) MementoApplication(com.alexstyl.specialdates.MementoApplication) IabHelper(com.alexstyl.specialdates.donate.util.IabHelper) AndroidDonationService(com.alexstyl.specialdates.donate.AndroidDonationService) Preference(android.preference.Preference) AppComponent(com.alexstyl.specialdates.AppComponent) Donation(com.alexstyl.specialdates.donate.Donation)

Example 4 with NamedayLocale

use of com.alexstyl.specialdates.events.namedays.NamedayLocale in project Memento-Calendar by alexstyl.

the class NameSuggestionsAdapter method newInstance.

public static NameSuggestionsAdapter newInstance(OnNameSelectedListener onNameSelectedListener, NamedayUserSettings namedayPreferences, NamedayCalendarProvider namedayCalendarProvider) {
    NamedayLocale locale = namedayPreferences.getSelectedLanguage();
    WordComparator compatator;
    if (locale.isComparedBySound()) {
        compatator = new SoundWordComparator();
    } else {
        compatator = new CaseInsensitiveComparator();
    }
    int year = Date.Companion.today().getYear();
    NamedayCalendar namedayCalendar = namedayCalendarProvider.loadNamedayCalendarForLocale(locale, year);
    ArrayList<String> names = namedayCalendar.getAllNames();
    return new NameSuggestionsAdapter(new NameFilter(names, compatator), onNameSelectedListener);
}
Also used : NamedayCalendar(com.alexstyl.specialdates.events.namedays.calendar.NamedayCalendar) SoundWordComparator(com.alexstyl.specialdates.SoundWordComparator) NamedayLocale(com.alexstyl.specialdates.events.namedays.NamedayLocale) WordComparator(com.alexstyl.specialdates.WordComparator) SoundWordComparator(com.alexstyl.specialdates.SoundWordComparator)

Example 5 with NamedayLocale

use of com.alexstyl.specialdates.events.namedays.NamedayLocale in project Memento-Calendar by alexstyl.

the class NamedaysLoader method getNamedayCalendar.

private NamedayCalendar getNamedayCalendar() {
    if (namedayCalendar == null) {
        NamedayLocale locale = namedayUserSettings.getSelectedLanguage();
        namedayCalendar = calendarProvider.loadNamedayCalendarForLocale(locale, year);
    }
    return namedayCalendar;
}
Also used : NamedayLocale(com.alexstyl.specialdates.events.namedays.NamedayLocale)

Aggregations

NamedayLocale (com.alexstyl.specialdates.events.namedays.NamedayLocale)5 Preference (android.preference.Preference)2 AppComponent (com.alexstyl.specialdates.AppComponent)2 MementoApplication (com.alexstyl.specialdates.MementoApplication)2 AndroidDonationService (com.alexstyl.specialdates.donate.AndroidDonationService)2 Donation (com.alexstyl.specialdates.donate.Donation)2 DonationCallbacks (com.alexstyl.specialdates.donate.DonationCallbacks)2 IabHelper (com.alexstyl.specialdates.donate.util.IabHelper)2 NamedayCalendar (com.alexstyl.specialdates.events.namedays.calendar.NamedayCalendar)2 SoundWordComparator (com.alexstyl.specialdates.SoundWordComparator)1 WordComparator (com.alexstyl.specialdates.WordComparator)1 NamesInADate (com.alexstyl.specialdates.events.namedays.NamesInADate)1