Search in sources :

Example 1 with FetchCurrentUserTask

use of com.odysee.app.tasks.lbryinc.FetchCurrentUserTask in project odysee-android by OdyseeTeam.

the class VerificationActivity method onPhoneVerified.

@Override
public void onPhoneVerified() {
    showLoading();
    FetchCurrentUserTask task = new FetchCurrentUserTask(this, new FetchCurrentUserTask.FetchUserTaskHandler() {

        @Override
        public void onSuccess(User user) {
            Lbryio.currentUser = user;
            if (user.isIdentityVerified() && user.isRewardApproved()) {
                // verified for rewards
                LbryAnalytics.logEvent(LbryAnalytics.EVENT_REWARD_ELIGIBILITY_COMPLETED);
                setResult(RESULT_OK);
                finish();
                return;
            }
            findViewById(R.id.verification_close_button).setVisibility(View.VISIBLE);
            // show manual verification page if the user is still not reward approved
            ViewPager2 viewPager = findViewById(R.id.verification_pager);
            viewPager.setCurrentItem(VerificationPagerAdapter.PAGE_VERIFICATION_MANUAL, false);
            hideLoading();
        }

        @Override
        public void onError(Exception error) {
            showFetchUserError(error != null ? error.getMessage() : getString(R.string.fetch_current_user_error));
            hideLoading();
        }
    });
    task.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
}
Also used : ViewPager2(androidx.viewpager2.widget.ViewPager2) User(com.odysee.app.model.lbryinc.User) FetchCurrentUserTask(com.odysee.app.tasks.lbryinc.FetchCurrentUserTask)

Example 2 with FetchCurrentUserTask

use of com.odysee.app.tasks.lbryinc.FetchCurrentUserTask in project odysee-android by OdyseeTeam.

the class VerificationActivity method onEmailVerified.

public void onEmailVerified() {
    Snackbar.make(findViewById(R.id.verification_pager), R.string.sign_in_successful, Snackbar.LENGTH_LONG).show();
    sendBroadcast(new Intent(MainActivity.ACTION_USER_SIGN_IN_SUCCESS));
    Bundle bundle = new Bundle();
    bundle.putString("email", email);
    LbryAnalytics.logEvent(LbryAnalytics.EVENT_EMAIL_VERIFIED, bundle);
    finish();
    if (flow == VERIFICATION_FLOW_SIGN_IN) {
        final Intent resultIntent = new Intent();
        resultIntent.putExtra("flow", VERIFICATION_FLOW_SIGN_IN);
        resultIntent.putExtra("email", email);
        // only sign in required, don't do anything else
        showLoading();
        FetchCurrentUserTask task = new FetchCurrentUserTask(this, new FetchCurrentUserTask.FetchUserTaskHandler() {

            @Override
            public void onSuccess(User user) {
                Lbryio.currentUser = user;
                setResult(RESULT_OK, resultIntent);
                finish();
            }

            @Override
            public void onError(Exception error) {
                showFetchUserError(error != null ? error.getMessage() : getString(R.string.fetch_current_user_error));
                hideLoading();
            }
        });
        task.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
    } else {
        // change pager view depending on flow
        showLoading();
        FetchCurrentUserTask task = new FetchCurrentUserTask(this, new FetchCurrentUserTask.FetchUserTaskHandler() {

            @Override
            public void onSuccess(User user) {
                hideLoading();
                findViewById(R.id.verification_close_button).setVisibility(View.VISIBLE);
                Lbryio.currentUser = user;
                ViewPager2 viewPager = findViewById(R.id.verification_pager);
                // for rewards, (show phone verification if not done, or manual verification if required)
                if (flow == VERIFICATION_FLOW_REWARDS) {
                    if (!user.isIdentityVerified()) {
                        // phone number verification required
                        viewPager.setCurrentItem(VerificationPagerAdapter.PAGE_VERIFICATION_PHONE, false);
                    } else {
                        if (!user.isRewardApproved()) {
                            // manual verification required
                            viewPager.setCurrentItem(VerificationPagerAdapter.PAGE_VERIFICATION_MANUAL, false);
                        } else {
                            // fully verified
                            setResult(RESULT_OK);
                            finish();
                        }
                    }
                }
            }

            @Override
            public void onError(Exception error) {
                showFetchUserError(error != null ? error.getMessage() : getString(R.string.fetch_current_user_error));
                hideLoading();
            }
        });
        task.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
    }
}
Also used : ViewPager2(androidx.viewpager2.widget.ViewPager2) User(com.odysee.app.model.lbryinc.User) Bundle(android.os.Bundle) FetchCurrentUserTask(com.odysee.app.tasks.lbryinc.FetchCurrentUserTask) Intent(android.content.Intent)

Example 3 with FetchCurrentUserTask

use of com.odysee.app.tasks.lbryinc.FetchCurrentUserTask in project odysee-android by OdyseeTeam.

the class RewardVerificationFragment method checkRewardApproved.

private void checkRewardApproved(final boolean firstCheck) {
    if (firstRunStepHandler != null) {
        firstRunStepHandler.onRequestInProgress(true);
    }
    optionsPager.setVisibility(View.INVISIBLE);
    optionsTabs.setVisibility(View.INVISIBLE);
    FetchCurrentUserTask task = new FetchCurrentUserTask(getContext(), new FetchCurrentUserTask.FetchUserTaskHandler() {

        @Override
        public void onSuccess(User user) {
            if (firstRunStepHandler != null) {
                firstRunStepHandler.onRequestCompleted(FirstRunActivity.FIRST_RUN_STEP_REWARDS);
            }
            Lbryio.currentUser = user;
            if (user.isIdentityVerified() && user.isRewardApproved()) {
                // verified for rewards
                LbryAnalytics.logEvent(LbryAnalytics.EVENT_REWARD_ELIGIBILITY_COMPLETED);
                textSummary.setText(R.string.reward_eligible);
                return;
            }
            if (!firstCheck) {
                // show manual verification if the user is not yet reward approved
                // and this is not the check when the page loads
                optionsPager.setCurrentItem(3);
            }
            optionsPager.setVisibility(View.VISIBLE);
            optionsTabs.setVisibility(View.VISIBLE);
        }

        @Override
        public void onError(Exception error) {
            showFetchUserError(error != null ? error.getMessage() : getString(R.string.fetch_current_user_error));
            optionsPager.setVisibility(View.VISIBLE);
            optionsTabs.setVisibility(View.VISIBLE);
            if (firstRunStepHandler != null) {
                firstRunStepHandler.onRequestCompleted(FirstRunActivity.FIRST_RUN_STEP_REWARDS);
            }
        }
    });
    task.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
}
Also used : User(com.odysee.app.model.lbryinc.User) FetchCurrentUserTask(com.odysee.app.tasks.lbryinc.FetchCurrentUserTask)

Aggregations

User (com.odysee.app.model.lbryinc.User)3 FetchCurrentUserTask (com.odysee.app.tasks.lbryinc.FetchCurrentUserTask)3 ViewPager2 (androidx.viewpager2.widget.ViewPager2)2 Intent (android.content.Intent)1 Bundle (android.os.Bundle)1