Search in sources :

Example 6 with AppComponent

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

the class WearSyncService method onCreate.

@Override
public void onCreate() {
    super.onCreate();
    AppComponent applicationModule = ((MementoApplication) getApplication()).getApplicationModule();
    applicationModule.inject(this);
}
Also used : MementoApplication(com.alexstyl.specialdates.MementoApplication) AppComponent(com.alexstyl.specialdates.AppComponent)

Example 7 with AppComponent

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

the class SearchActivity method onCreate.

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_search);
    AppComponent applicationModule = ((MementoApplication) getApplication()).getApplicationModule();
    applicationModule.inject(this);
    peopleEventsSearch = new PeopleEventsSearch(peopleEventsProvider, NameMatcher.INSTANCE);
    DateLabelCreator dateLabelCreator = new AndroidDateLabelCreator(this);
    viewModelFactory = new ContactEventViewModelFactory(new ContactEventLabelCreator(Date.Companion.today(), strings, dateLabelCreator), colors);
    analytics.trackScreen(Screen.SEARCH);
    searchbar = Views.findById(this, R.id.search_searchbar);
    setSupportActionBar(searchbar);
    content = Views.findById(this, R.id.search_content);
    resultView = Views.findById(this, R.id.search_results);
    resultView.setHasFixedSize(true);
    int spacingInPixels = getResources().getDimensionPixelSize(R.dimen.search_result_card_vertical_padding) / HALF;
    resultView.addItemDecoration(new SpacesItemDecoration(spacingInPixels, COLUMNS));
    RecyclerView.LayoutManager mLayoutManager = new LinearLayoutManager(context());
    resultView.setLayoutManager(mLayoutManager);
    namesSuggestionsView = Views.findById(this, R.id.search_nameday_suggestions);
    if (savedInstanceState != null) {
        searchQuery = savedInstanceState.getString(KEY_QUERY);
    }
    setupSearchField();
    adapter = new SearchResultAdapter(imageLoader, labelCreator);
    adapter.setSearchResultClickListener(listener);
    resultView.setAdapter(adapter);
    searchbar.setOnBackKeyPressedListener(onBackKeyPressedListener);
    setupSearchbarHint(namedayUserSettings);
    if (namedayUserSettings.isEnabled()) {
        GridLayoutManager namedayManager = new GridLayoutManager(context(), 1, RecyclerView.HORIZONTAL, false);
        namesAdapter = NameSuggestionsAdapter.newInstance(onNameSelectedListener, namedayUserSettings, namedayCalendarProvider);
        namesSuggestionsView.setHasFixedSize(true);
        namesSuggestionsView.setLayoutManager(namedayManager);
        namesSuggestionsView.setAdapter(namesAdapter);
        searchbar.setInputType(InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);
        searchbar.setOnFocusChangeListener(new ToggleVisibilityOnFocus(namesSuggestionsView));
    } else {
        namesSuggestionsView.setVisibility(GONE);
    }
    if (savedInstanceState == null) {
        fader.hideContentOf(searchbar);
        ViewTreeObserver viewTreeObserver = searchbar.getViewTreeObserver();
        viewTreeObserver.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {

            @Override
            public void onGlobalLayout() {
                searchbar.getViewTreeObserver().removeOnGlobalLayoutListener(this);
                animateShowSearch();
            }

            private void animateShowSearch() {
                TransitionManager.beginDelayedTransition(searchbar, FadeInTransition.createTransition());
                fader.showContent(searchbar);
            }
        });
    }
}
Also used : MementoApplication(com.alexstyl.specialdates.MementoApplication) LinearLayoutManager(android.support.v7.widget.LinearLayoutManager) GridLayoutManager(android.support.v7.widget.GridLayoutManager) AppComponent(com.alexstyl.specialdates.AppComponent) RecyclerView(android.support.v7.widget.RecyclerView) SpacesItemDecoration(com.alexstyl.specialdates.ui.widget.SpacesItemDecoration) AndroidDateLabelCreator(com.alexstyl.specialdates.date.AndroidDateLabelCreator) DateLabelCreator(com.alexstyl.specialdates.date.DateLabelCreator) ViewTreeObserver(android.view.ViewTreeObserver) AndroidDateLabelCreator(com.alexstyl.specialdates.date.AndroidDateLabelCreator)

Example 8 with AppComponent

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

the class EventDatePickerDialogFragment method onCreate.

@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    AppComponent applicationModule = getApplication().getApplicationModule();
    applicationModule.inject(this);
    initialDate = getDate();
}
Also used : AppComponent(com.alexstyl.specialdates.AppComponent)

Example 9 with AppComponent

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

the class DonateActivity method onCreate.

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_donate);
    AppComponent applicationModule = ((MementoApplication) getApplication()).getApplicationModule();
    applicationModule.inject(this);
    Toolbar toolbar = Views.findById(this, R.id.toolbar);
    setSupportActionBar(toolbar);
    coordinator = Views.findById(this, R.id.donate_coordinator);
    ImageView avatar = Views.findById(this, R.id.donate_avatar);
    imageLoader.load(DEV_IMAGE_URI).into(avatar);
    final AppBarLayout appBarLayout = Views.findById(this, R.id.app_bar_layout);
    final NestedScrollView scrollView = Views.findById(this, R.id.scroll);
    if (Version.INSTANCE.hasLollipop()) {
        appBarLayout.addOnOffsetChangedListener(new LolipopHideStatusBarListener(getWindow()));
    }
    DonationService donationService = new AndroidDonationService(iabHelper, this, donationPreferences, analytics, tracker, donateMonitor);
    final Button donateButton = Views.findById(this, R.id.donate_place_donation);
    donateButton.requestFocus();
    donatePresenter = new DonatePresenter(analytics, donationService, new TextViewLabelSetter(donateButton), strings);
    donateButton.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            Donation donation = AndroidDonation.valueOfIndex(donateBar.getProgress());
            donatePresenter.placeDonation(donation, REQUEST_CODE);
        }
    });
    setupDonateBar();
    donatePresenter.startPresenting(donationCallbacks());
    scrollView.postDelayed(new Runnable() {

        @Override
        public void run() {
            scrollToDonate();
        }

        private void scrollToDonate() {
            CoordinatorLayout.LayoutParams params = (CoordinatorLayout.LayoutParams) appBarLayout.getLayoutParams();
            AppBarLayout.Behavior behavior = (AppBarLayout.Behavior) params.getBehavior();
            behavior.onNestedFling(coordinator, appBarLayout, null, 0, VELOCITY_Y, true);
        }
    }, SCROLL_DOWN_ANIMATION_DELAY);
}
Also used : MementoApplication(com.alexstyl.specialdates.MementoApplication) TextViewLabelSetter(com.alexstyl.specialdates.TextViewLabelSetter) ImageView(android.widget.ImageView) View(android.view.View) NestedScrollView(android.support.v4.widget.NestedScrollView) CoordinatorLayout(android.support.design.widget.CoordinatorLayout) Button(android.widget.Button) AppComponent(com.alexstyl.specialdates.AppComponent) ImageView(android.widget.ImageView) AppBarLayout(android.support.design.widget.AppBarLayout) NestedScrollView(android.support.v4.widget.NestedScrollView) LolipopHideStatusBarListener(com.alexstyl.specialdates.ui.LolipopHideStatusBarListener) Toolbar(android.support.v7.widget.Toolbar)

Example 10 with AppComponent

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

the class DailyReminderFragment method onCreate.

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    Context context = getActivity().getApplicationContext();
    scheduler = new DailyReminderScheduler(AlarmManagerCompat.from(context), context);
    AppComponent applicationModule = ((MementoApplication) getActivity().getApplication()).getApplicationModule();
    applicationModule.inject(this);
    addPreferencesFromResource(R.xml.preference_dailyreminder);
    permissionChecker = new AndroidPermissions(tracker, getActivity());
    enablePreference = findPreference(R.string.key_daily_reminder);
    preferences = DailyReminderPreferences.newInstance(getActivity());
    enablePreference.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {

        @Override
        public boolean onPreferenceChange(Preference preference, Object newValue) {
            boolean isEnabled = (boolean) newValue;
            preferences.setEnabled(isEnabled);
            if (isEnabled) {
                analytics.trackDailyReminderEnabled();
                scheduler.setupReminder(preferences);
            } else {
                analytics.trackDailyReminderDisabled();
                scheduler.cancelReminder();
            }
            return true;
        }
    });
    ringtonePreference = findPreference(R.string.key_daily_reminder_ringtone);
    ringtonePreference.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {

        @Override
        public boolean onPreferenceClick(Preference preference) {
            if (permissionChecker.canReadExternalStorage()) {
                // the permission exists. Let the system handle the event
                return false;
            } else {
                requestPermissions(new String[] { Manifest.permission.READ_EXTERNAL_STORAGE }, EXTERNAL_STORAGE_REQUEST_CODE);
                return true;
            }
        }
    });
    ringtonePreference.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {

        @Override
        public boolean onPreferenceChange(Preference preference, Object newValue) {
            updateRingtoneSummaryFor(Uri.parse((String) newValue));
            return true;
        }
    });
    timePreference = findPreference(R.string.key_daily_reminder_time);
    timePreference.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {

        @Override
        public boolean onPreferenceChange(Preference preference, Object newValue) {
            int[] time = (int[]) newValue;
            TimeOfDay timeOfDay = new TimeOfDay(time[0], time[1]);
            updateTimeSet(timeOfDay);
            analytics.trackDailyReminderTimeUpdated(timeOfDay);
            preferences.setDailyReminderTime(timeOfDay);
            scheduler.updateReminderTime(timeOfDay);
            return true;
        }
    });
    hideVibratorSettingIfNotPresent();
}
Also used : Context(android.content.Context) TimeOfDay(com.alexstyl.specialdates.TimeOfDay) MementoApplication(com.alexstyl.specialdates.MementoApplication) OnPreferenceChangeListener(android.preference.Preference.OnPreferenceChangeListener) AndroidPermissions(com.alexstyl.specialdates.permissions.AndroidPermissions) CheckBoxPreference(android.preference.CheckBoxPreference) TimePreference(com.alexstyl.android.preferences.widget.TimePreference) Preference(android.preference.Preference) AppComponent(com.alexstyl.specialdates.AppComponent) DailyReminderScheduler(com.alexstyl.specialdates.dailyreminder.DailyReminderScheduler) OnPreferenceChangeListener(android.preference.Preference.OnPreferenceChangeListener)

Aggregations

AppComponent (com.alexstyl.specialdates.AppComponent)18 MementoApplication (com.alexstyl.specialdates.MementoApplication)17 View (android.view.View)4 Preference (android.preference.Preference)3 ImageView (android.widget.ImageView)3 AndroidPermissions (com.alexstyl.specialdates.permissions.AndroidPermissions)3 LinearLayoutManager (android.support.v7.widget.LinearLayoutManager)2 RecyclerView (android.support.v7.widget.RecyclerView)2 Toolbar (android.support.v7.widget.Toolbar)2 TextView (android.widget.TextView)2 ExternalNavigator (com.alexstyl.specialdates.ExternalNavigator)2 AndroidDateLabelCreator (com.alexstyl.specialdates.date.AndroidDateLabelCreator)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 NamedayLocale (com.alexstyl.specialdates.events.namedays.NamedayLocale)2 MementoToolbar (com.alexstyl.specialdates.ui.widget.MementoToolbar)2 AlarmManager (android.app.AlarmManager)1 Context (android.content.Context)1