Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5ffa5bf3 authored by Tadashi G. Takaoka's avatar Tadashi G. Takaoka Committed by Android (Google) Code Review
Browse files

Merge "Keep SetupActivity alive to check re-launching from launcher"

parents 2564bd09 9ed322b4
Loading
Loading
Loading
Loading
+32 −18
Original line number Diff line number Diff line
@@ -63,7 +63,8 @@ public final class SetupActivity extends Activity implements View.OnClickListene
    private static final int STEP_1 = 1;
    private static final int STEP_2 = 2;
    private static final int STEP_3 = 3;
    private boolean mWasLanguageAndInputSettingsInvoked;
    private static final int STEP_LAUNCHING_IME_SETTINGS = 4;
    private static final int STEP_BACK_FROM_IME_SETTINGS = 5;

    private final SettingsPoolingHandler mHandler = new SettingsPoolingHandler(this);

@@ -83,7 +84,7 @@ public final class SetupActivity extends Activity implements View.OnClickListene
            }
            switch (msg.what) {
            case MSG_POLLING_IME_SETTINGS:
                if (SetupActivity.isThisImeEnabled(setupActivity)) {
                if (isThisImeEnabled(setupActivity)) {
                    setupActivity.invokeSetupWizardOfThisIme();
                    return;
                }
@@ -112,17 +113,7 @@ public final class SetupActivity extends Activity implements View.OnClickListene
        RichInputMethodManager.init(this);

        if (savedInstanceState == null) {
            mStepNumber = determineSetupStepNumber();
            if (mStepNumber == STEP_1 && !mWasLanguageAndInputSettingsInvoked) {
                mStepNumber = STEP_WELCOME;
            }
            if (mStepNumber == STEP_3) {
                // This IME already has been enabled and set as current IME.
                // TODO: Implement tutorial.
                invokeSettingsOfThisIme();
                finish();
                return;
            }
            mStepNumber = determineSetupStepNumberFromLauncher();
        } else {
            mStepNumber = savedInstanceState.getInt(STATE_STEP);
        }
@@ -265,7 +256,6 @@ public final class SetupActivity extends Activity implements View.OnClickListene
        intent.setAction(Settings.ACTION_INPUT_METHOD_SETTINGS);
        intent.addCategory(Intent.CATEGORY_DEFAULT);
        startActivity(intent);
        mWasLanguageAndInputSettingsInvoked = true;
    }

    private void invokeSubtypeEnablerOfThisIme() {
@@ -313,6 +303,17 @@ public final class SetupActivity extends Activity implements View.OnClickListene
        return myImi.getId().equals(currentImeId);
    }

    private int determineSetupStepNumberFromLauncher() {
        final int stepNumber = determineSetupStepNumber();
        if (stepNumber == STEP_1) {
            return STEP_WELCOME;
        }
        if (stepNumber == STEP_3) {
            return STEP_LAUNCHING_IME_SETTINGS;
        }
        return stepNumber;
    }

    private int determineSetupStepNumber() {
        mHandler.cancelPollingImeSettings();
        if (!isThisImeEnabled(this)) {
@@ -336,10 +337,14 @@ public final class SetupActivity extends Activity implements View.OnClickListene
        mStepNumber = savedInstanceState.getInt(STATE_STEP);
    }

    private static boolean isInSetupSteps(final int stepNumber) {
        return stepNumber >= STEP_1 && stepNumber <= STEP_3;
    }

    @Override
    protected void onRestart() {
        super.onRestart();
        if (mStepNumber != STEP_WELCOME) {
        if (isInSetupSteps(mStepNumber)) {
            mStepNumber = determineSetupStepNumber();
        }
    }
@@ -347,6 +352,15 @@ public final class SetupActivity extends Activity implements View.OnClickListene
    @Override
    protected void onResume() {
        super.onResume();
        if (mStepNumber == STEP_LAUNCHING_IME_SETTINGS) {
            invokeSettingsOfThisIme();
            mStepNumber = STEP_BACK_FROM_IME_SETTINGS;
            return;
        }
        if (mStepNumber == STEP_BACK_FROM_IME_SETTINGS) {
            finish();
            return;
        }
        updateSetupStepView();
    }

@@ -374,7 +388,7 @@ public final class SetupActivity extends Activity implements View.OnClickListene
    @Override
    public void onWindowFocusChanged(final boolean hasFocus) {
        super.onWindowFocusChanged(hasFocus);
        if (hasFocus && mStepNumber != STEP_WELCOME) {
        if (hasFocus && isInSetupSteps(mStepNumber)) {
            mStepNumber = determineSetupStepNumber();
            updateSetupStepView();
        }