Search in sources :

Example 1 with VerificationSkipQueue

use of com.odysee.app.utils.VerificationSkipQueue in project odysee-android by OdyseeTeam.

the class VerificationActivity method onCreate.

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    verificationSkipQueue = new VerificationSkipQueue(this, new VerificationSkipQueue.ShowInProgressListener() {

        @Override
        public void maybeShowRequestInProgress() {
            showLoading();
        }
    }, new RewardVerifiedHandler() {

        @Override
        public void onSuccess(RewardVerified rewardVerified) {
            if (Lbryio.currentUser != null) {
                Lbryio.currentUser.setRewardApproved(rewardVerified.isRewardApproved());
            }
            if (!rewardVerified.isRewardApproved()) {
                // show pending purchase message (possible slow card tx)
                Snackbar.make(findViewById(R.id.verification_pager), R.string.purchase_request_pending, Snackbar.LENGTH_LONG).show();
            } else {
                Snackbar.make(findViewById(R.id.verification_pager), R.string.reward_verification_successful, Snackbar.LENGTH_LONG).show();
            }
            setResult(RESULT_OK);
            new Handler().postDelayed(new Runnable() {

                @Override
                public void run() {
                    finish();
                }
            }, 3000);
        }

        @Override
        public void onError(Exception error) {
            showFetchUserError(getString(R.string.purchase_request_failed_error));
            hideLoading();
        }
    });
    verificationSkipQueue.createBillingClientAndEstablishConnection();
    signedIn = Lbryio.isSignedIn();
    Intent intent = getIntent();
    if (intent != null) {
        flow = intent.getIntExtra("flow", -1);
        if (flow == -1 || (flow == VERIFICATION_FLOW_SIGN_IN && signedIn)) {
            // no flow specified (or user is already signed in), just exit
            setResult(signedIn ? RESULT_OK : RESULT_CANCELED);
            finish();
            return;
        }
    }
    if (!Arrays.asList(VERIFICATION_FLOW_SIGN_IN, VERIFICATION_FLOW_REWARDS, VERIFICATION_FLOW_WALLET).contains(flow)) {
        // invalid flow specified
        setResult(RESULT_CANCELED);
        finish();
        return;
    }
    IntentFilter filter = new IntentFilter();
    setContentView(R.layout.activity_verification);
    ViewPager2 viewPager = findViewById(R.id.verification_pager);
    viewPager.setUserInputEnabled(false);
    viewPager.setSaveEnabled(false);
    viewPager.setAdapter(new VerificationPagerAdapter(this));
    findViewById(R.id.verification_close_button).setVisibility(View.VISIBLE);
    findViewById(R.id.verification_close_button).setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View view) {
            setResult(RESULT_CANCELED);
            finish();
        }
    });
}
Also used : IntentFilter(android.content.IntentFilter) VerificationSkipQueue(com.odysee.app.utils.VerificationSkipQueue) RewardVerifiedHandler(com.odysee.app.tasks.RewardVerifiedHandler) Handler(android.os.Handler) RewardVerifiedHandler(com.odysee.app.tasks.RewardVerifiedHandler) Intent(android.content.Intent) View(android.view.View) ViewPager2(androidx.viewpager2.widget.ViewPager2) VerificationPagerAdapter(com.odysee.app.adapter.VerificationPagerAdapter) RewardVerified(com.odysee.app.model.lbryinc.RewardVerified)

Example 2 with VerificationSkipQueue

use of com.odysee.app.utils.VerificationSkipQueue in project odysee-android by OdyseeTeam.

the class FirstRunActivity method onCreate.

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    AppCompatDelegate.setDefaultNightMode(isDarkMode() ? AppCompatDelegate.MODE_NIGHT_YES : AppCompatDelegate.MODE_NIGHT_NO);
    if (Build.VERSION.SDK_INT >= M && !isDarkMode()) {
        getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
    }
    setContentView(R.layout.activity_first_run);
    verificationSkipQueue = new VerificationSkipQueue(this, new VerificationSkipQueue.ShowInProgressListener() {

        @Override
        public void maybeShowRequestInProgress() {
            if (currentStep == FIRST_RUN_STEP_REWARDS) {
                onRequestInProgress(true);
            }
        }
    }, new RewardVerifiedHandler() {

        @Override
        public void onSuccess(RewardVerified rewardVerified) {
            if (Lbryio.currentUser != null) {
                Lbryio.currentUser.setRewardApproved(rewardVerified.isRewardApproved());
            }
            if (!rewardVerified.isRewardApproved()) {
                // show pending purchase message (possible slow card tx)
                Snackbar.make(findViewById(R.id.first_run_pager), R.string.purchase_request_pending, Snackbar.LENGTH_LONG).show();
            } else {
                Snackbar.make(findViewById(R.id.first_run_pager), R.string.reward_verification_successful, Snackbar.LENGTH_LONG).show();
            }
            if (currentStep == FIRST_RUN_STEP_REWARDS) {
                onRequestCompleted(FIRST_RUN_STEP_REWARDS);
            }
        }

        @Override
        public void onError(Exception error) {
            showFetchUserError(getString(R.string.purchase_request_failed_error));
            if (currentStep == FIRST_RUN_STEP_REWARDS) {
                onRequestCompleted(FIRST_RUN_STEP_REWARDS);
            }
        }
    });
    verificationSkipQueue.createBillingClientAndEstablishConnection();
    viewPager = findViewById(R.id.first_run_pager);
    viewPager.setUserInputEnabled(false);
    viewPager.setSaveEnabled(false);
    viewPager.setAdapter(new FirstRunPagerAdapter(this));
    pagerIndicator1 = findViewById(R.id.pager_indicator_1);
    pagerIndicator2 = findViewById(R.id.pager_indicator_2);
    pagerIndicator3 = findViewById(R.id.pager_indicator_3);
    buttonContinue = findViewById(R.id.first_run_continue_button);
    buttonSkip = findViewById(R.id.first_run_skip_button);
    progressIndicator = findViewById(R.id.first_run_progress);
    buttonSkip.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View view) {
            finishFirstRun();
        }
    });
    buttonContinue.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View view) {
            if (currentStep == FIRST_RUN_STEP_CHANNEL) {
                if (!ytSyncOptInChecked) {
                    handleCreateChannel();
                } else {
                    proceedToRewardsStep();
                }
            } else if (currentStep == FIRST_RUN_STEP_REWARDS) {
                // final step (Use Odysee)
                finishFirstRun();
            }
        }
    });
    OnBackPressedCallback callback = new OnBackPressedCallback(true) {

        /* enabled by default */
        @Override
        public void handleOnBackPressed() {
            onBackPressed();
        }
    };
    getOnBackPressedDispatcher().addCallback(this, callback);
}
Also used : OnBackPressedCallback(androidx.activity.OnBackPressedCallback) VerificationSkipQueue(com.odysee.app.utils.VerificationSkipQueue) RewardVerifiedHandler(com.odysee.app.tasks.RewardVerifiedHandler) RewardVerified(com.odysee.app.model.lbryinc.RewardVerified) ImageView(android.widget.ImageView) View(android.view.View) LbryioRequestException(com.odysee.app.exceptions.LbryioRequestException) LbryioResponseException(com.odysee.app.exceptions.LbryioResponseException) ApiCallException(com.odysee.app.exceptions.ApiCallException) IOException(java.io.IOException)

Aggregations

View (android.view.View)2 RewardVerified (com.odysee.app.model.lbryinc.RewardVerified)2 RewardVerifiedHandler (com.odysee.app.tasks.RewardVerifiedHandler)2 VerificationSkipQueue (com.odysee.app.utils.VerificationSkipQueue)2 Intent (android.content.Intent)1 IntentFilter (android.content.IntentFilter)1 Handler (android.os.Handler)1 ImageView (android.widget.ImageView)1 OnBackPressedCallback (androidx.activity.OnBackPressedCallback)1 ViewPager2 (androidx.viewpager2.widget.ViewPager2)1 VerificationPagerAdapter (com.odysee.app.adapter.VerificationPagerAdapter)1 ApiCallException (com.odysee.app.exceptions.ApiCallException)1 LbryioRequestException (com.odysee.app.exceptions.LbryioRequestException)1 LbryioResponseException (com.odysee.app.exceptions.LbryioResponseException)1 IOException (java.io.IOException)1