Search in sources :

Example 1 with LolipopHideStatusBarListener

use of com.alexstyl.specialdates.ui.LolipopHideStatusBarListener 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)

Aggregations

AppBarLayout (android.support.design.widget.AppBarLayout)1 CoordinatorLayout (android.support.design.widget.CoordinatorLayout)1 NestedScrollView (android.support.v4.widget.NestedScrollView)1 Toolbar (android.support.v7.widget.Toolbar)1 View (android.view.View)1 Button (android.widget.Button)1 ImageView (android.widget.ImageView)1 AppComponent (com.alexstyl.specialdates.AppComponent)1 MementoApplication (com.alexstyl.specialdates.MementoApplication)1 TextViewLabelSetter (com.alexstyl.specialdates.TextViewLabelSetter)1 LolipopHideStatusBarListener (com.alexstyl.specialdates.ui.LolipopHideStatusBarListener)1