package com.fastaccess.ui.modules.main.donation; import android.os.Bundle; import android.support.annotation.NonNull; import android.support.design.widget.AppBarLayout; import android.view.View; import com.fastaccess.R; import com.fastaccess.helper.AnimHelper; import com.fastaccess.helper.Logger; import com.fastaccess.ui.base.BaseActivity; import com.fastaccess.ui.base.mvp.presenter.BasePresenter; import net.grandcentrix.thirtyinch.TiPresenter; import butterknife.BindView; import butterknife.OnClick; import io.octo.bear.pago.Pago; import rx.Subscription; import rx.android.schedulers.AndroidSchedulers; import rx.schedulers.Schedulers; /** * Created by Kosh on 24 Mar 2017, 9:16 PM */ public class DonationActivity extends BaseActivity { @BindView(R.id.cardsHolder) View cardsHolder; @BindView(R.id.appbar) AppBarLayout appBarLayout; private Pago pago; private Subscription subscription; @NonNull public Pago getPago() { if (pago == null) { pago = new Pago(getApplicationContext()); } return pago; } @Override protected void onDestroy() { if (subscription != null && subscription.isUnsubscribed()) { subscription.unsubscribe(); } super.onDestroy(); } @Override protected int layout() { return R.layout.support_development_layout; } @Override protected boolean isTransparent() { return false; } @Override protected boolean canBack() { return true; } @Override protected boolean isSecured() { return false; } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); AnimHelper.animateVisibility(cardsHolder, true); } @Override protected void onStop() { super.onStop(); } @OnClick(R.id.two) public void onTwoClicked() { onProceed(getString(R.string.donation_product_1)); } @OnClick(R.id.five) public void onFiveClicked() { onProceed(getString(R.string.donation_product_2)); } @OnClick(R.id.ten) public void onTenClicked() { onProceed(getString(R.string.donation_product_3)); } @OnClick(R.id.twenty) public void onTwentyClicked() { onProceed(getString(R.string.donation_product_4)); } @NonNull @Override public TiPresenter providePresenter() { return new BasePresenter(); } private void onProceed(@NonNull String productKey) { subscription = getPago().purchaseProduct(productKey, "inapp:com.fastaccess.github:" + productKey) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .onErrorReturn(throwable -> { showErrorMessage(throwable.getMessage()); return null; }) .subscribe(order -> { Logger.e(order); if (order != null) showMessage(R.string.success, R.string.success_purchase_message); }, Throwable::printStackTrace); } }