Search in sources :

Example 1 with SHOW_STUDYOPTIONS

use of com.ichi2.anki.DeckPicker.SHOW_STUDYOPTIONS in project AnkiChinaAndroid by ankichinateam.

the class DeckPicker method onActivityResult.

@SuppressWarnings("deprecation")
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
    super.onActivityResult(requestCode, resultCode, intent);
    Timber.i("on activity result:%s", requestCode);
    if (requestCode == REQUEST_PATH_UPDATE) {
        // The collection path was inaccessible on startup so just close the activity and let user restart
        finishWithoutAnimation();
    } else if (resultCode == RESULT_MEDIA_EJECTED) {
        this.onSdCardNotMounted();
        return;
    } else if (resultCode == RESULT_DB_ERROR) {
        handleDbError();
        return;
    } else if (resultCode == RESULT_UPDATE_REST_SPACE) {
        getAccount().getToken(getBaseContext(), new MyAccount.TokenCallback() {

            @Override
            public void onSuccess(String token) {
                OKHttpUtil.get(Consts.ANKI_CHINA_BASE + Consts.API_VERSION + "clouds/current", token, new Object[] { "nothing", false }, checkRestServerSpaceListener);
            }

            @Override
            public void onFail(String message) {
                handleGetTokenFailed(message);
            }
        });
        return;
    }
    if (requestCode == REPORT_ERROR) {
        showStartupScreensAndDialogs(AnkiDroidApp.getSharedPrefs(this), 4);
    } else if (requestCode == SHOW_INFO_WELCOME || requestCode == SHOW_INFO_NEW_VERSION) {
        if (resultCode == RESULT_OK) {
            showStartupScreensAndDialogs(AnkiDroidApp.getSharedPrefs(this), requestCode == SHOW_INFO_WELCOME ? 2 : 3);
        } else {
            finishWithAnimation(ActivityTransitionAnimation.DOWN);
        }
    } else if (requestCode == LOG_IN_FOR_SYNC) {
        mRefreshVipStateOnResume = true;
        mSyncOnResume = resultCode == RESULT_OK;
    } else if ((requestCode == REQUEST_REVIEW || requestCode == SHOW_STUDYOPTIONS) && resultCode == Reviewer.RESULT_NO_MORE_CARDS) {
        // Show a message when reviewing has finished
        if (getCol().getSched().count() == 0) {
            UIUtils.showSimpleSnackbar(this, R.string.studyoptions_congrats_finished, false);
        } else {
            UIUtils.showSimpleSnackbar(this, R.string.studyoptions_no_cards_due, false);
        }
        refreshDeckListUI(false);
    } else if (requestCode == REQUEST_BROWSE_CARDS) {
        // Store the selected deck after opening browser
        if (intent != null && intent.getBooleanExtra("allDecksSelected", false)) {
            AnkiDroidApp.getSharedPrefs(this).edit().putLong("browserDeckIdFromDeckPicker", -1L).apply();
        } else {
            long selectedDeck = getCol().getDecks().selected();
            AnkiDroidApp.getSharedPrefs(this).edit().putLong("browserDeckIdFromDeckPicker", selectedDeck).apply();
        }
    }
    if (requestCode == BE_VIP || requestCode == REFRESH_LOGIN_STATE_AND_TURN_TO_VIP_HTML || requestCode == SHOW_STUDYOPTIONS || requestCode == CHANGE_ACCOUNT) {
        mRefreshVipStateOnResume = true;
        mSyncOnResume = requestCode == CHANGE_ACCOUNT;
        mTurnToVipHtml = requestCode == REFRESH_LOGIN_STATE_AND_TURN_TO_VIP_HTML;
    } else {
        getSupportFragmentManager().getFragments();
        if (getSupportFragmentManager().getFragments().size() > 0) {
            List<Fragment> fragments = getSupportFragmentManager().getFragments();
            for (Fragment mFragment : fragments) {
                mFragment.onActivityResult(requestCode, resultCode, intent);
            }
        }
    }
}
Also used : SpannableString(android.text.SpannableString) Fragment(androidx.fragment.app.Fragment) AsyncDialogFragment(com.ichi2.anki.dialogs.AsyncDialogFragment)

Example 2 with SHOW_STUDYOPTIONS

use of com.ichi2.anki.DeckPicker.SHOW_STUDYOPTIONS in project Anki-Android by Ramblurr.

the class DeckPicker method onActivityResult.

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
    super.onActivityResult(requestCode, resultCode, intent);
    mDontSaveOnStop = false;
    if (resultCode == RESULT_MEDIA_EJECTED) {
        showDialog(DIALOG_SD_CARD_NOT_MOUNTED);
        return;
    } else if (resultCode == RESULT_DB_ERROR) {
        handleDbError();
        return;
    }
    if (requestCode == SHOW_STUDYOPTIONS && resultCode == RESULT_OK) {
        loadCounts();
    } else if (requestCode == ADD_NOTE && resultCode != RESULT_CANCELED) {
        loadCounts();
    } else if (requestCode == BROWSE_CARDS && (resultCode == Activity.RESULT_OK || resultCode == Activity.RESULT_CANCELED)) {
        loadCounts();
    } else if (requestCode == ADD_CRAM_DECK) {
        // TODO: check, if ok has been clicked
        loadCounts();
    } else if (requestCode == REPORT_ERROR) {
        showStartupScreensAndDialogs(AnkiDroidApp.getSharedPrefs(getBaseContext()), 4);
    } else if (requestCode == SHOW_INFO_UPGRADE_DECKS) {
        if (intent != null && intent.hasExtra(Info.TYPE_UPGRADE_STAGE)) {
            int type = intent.getIntExtra(Info.TYPE_UPGRADE_STAGE, Info.UPGRADE_SCREEN_BASIC1);
            if (type == Info.UPGRADE_CONTINUE) {
                showStartupScreensAndDialogs(AnkiDroidApp.getSharedPrefs(getBaseContext()), 3);
            } else {
                showUpgradeScreen(true, type, !intent.hasExtra(Info.TYPE_ANIMATION_RIGHT));
            }
        } else {
            if (resultCode == RESULT_OK) {
                if (mOpenCollectionDialog != null && mOpenCollectionDialog.isShowing()) {
                    mOpenCollectionDialog.dismiss();
                }
                if (AnkiDroidApp.colIsOpen()) {
                    AnkiDroidApp.closeCollection(true);
                }
                AnkiDroidApp.openCollection(AnkiDroidApp.getCollectionPath());
                loadCounts();
            } else {
                finishWithAnimation();
            }
        }
    } else if (requestCode == SHOW_INFO_WELCOME || requestCode == SHOW_INFO_NEW_VERSION) {
        if (resultCode == RESULT_OK) {
            showStartupScreensAndDialogs(AnkiDroidApp.getSharedPrefs(getBaseContext()), requestCode == SHOW_INFO_WELCOME ? 1 : 2);
        } else {
            finishWithAnimation();
        }
    } else if (requestCode == PREFERENCES_UPDATE) {
        String oldPath = mPrefDeckPath;
        SharedPreferences pref = restorePreferences();
        String newLanguage = pref.getString("language", "");
        if (AnkiDroidApp.setLanguage(newLanguage)) {
            mInvalidateMenu = true;
        }
        if (mNotMountedDialog != null && mNotMountedDialog.isShowing() && pref.getBoolean("internalMemory", false)) {
            showStartupScreensAndDialogs(pref, 0);
        } else if (!mPrefDeckPath.equals(oldPath)) {
            loadCollection();
        }
    // if (resultCode == StudyOptions.RESULT_RESTART) {
    // setResult(StudyOptions.RESULT_RESTART);
    // finishWithAnimation();
    // } else {
    // SharedPreferences preferences = PrefSettings.getSharedPrefs(getBaseContext());
    // BackupManager.initBackup();
    // if (!mPrefDeckPath.equals(preferences.getString("deckPath", AnkiDroidApp.getStorageDirectory())) ||
    // mPrefDeckOrder != Integer.parseInt(preferences.getString("deckOrder", "0"))) {
    // // populateDeckList(preferences.getString("deckPath", AnkiDroidApp.getStorageDirectory()));
    // }
    // }
    } else if (requestCode == REPORT_FEEDBACK && resultCode == RESULT_OK) {
    } else if (requestCode == LOG_IN_FOR_SYNC && resultCode == RESULT_OK) {
        sync();
    } else if (requestCode == LOG_IN_FOR_SHARED_DECK && resultCode == RESULT_OK) {
        addSharedDeck();
    } else if (requestCode == ADD_SHARED_DECKS) {
        if (intent != null) {
            mImportPath = intent.getStringExtra("importPath");
        }
        if (AnkiDroidApp.colIsOpen() && mImportPath != null) {
            DeckTask.launchDeckTask(DeckTask.TASK_TYPE_IMPORT, mImportAddListener, new TaskData(AnkiDroidApp.getCol(), mImportPath, true));
            mImportPath = null;
        }
    } else if (requestCode == REQUEST_REVIEW) {
        // Log.i(AnkiDroidApp.TAG, "Result code = " + resultCode);
        switch(resultCode) {
            default:
                // do not reload counts, if activity is created anew because it has been before destroyed by android
                loadCounts();
                break;
            case Reviewer.RESULT_NO_MORE_CARDS:
                mDontSaveOnStop = true;
                Intent i = new Intent();
                i.setClass(this, StudyOptionsActivity.class);
                i.putExtra("onlyFnsMsg", true);
                startActivityForResult(i, SHOW_STUDYOPTIONS);
                if (AnkiDroidApp.SDK_VERSION > 4) {
                    ActivityTransitionAnimation.slide(this, ActivityTransitionAnimation.RIGHT);
                }
                break;
        }
    }
    // workaround for hidden dialog on return
    BroadcastMessages.showDialog();
}
Also used : SharedPreferences(android.content.SharedPreferences) Intent(android.content.Intent) TaskData(com.ichi2.async.DeckTask.TaskData)

Aggregations

Intent (android.content.Intent)1 SharedPreferences (android.content.SharedPreferences)1 SpannableString (android.text.SpannableString)1 Fragment (androidx.fragment.app.Fragment)1 AsyncDialogFragment (com.ichi2.anki.dialogs.AsyncDialogFragment)1 TaskData (com.ichi2.async.DeckTask.TaskData)1