diff --git a/java/res/drawable/setup_step_action_color.xml b/java/res/color/setup_step_action_color.xml similarity index 100% rename from java/res/drawable/setup_step_action_color.xml rename to java/res/color/setup_step_action_color.xml diff --git a/java/res/drawable/ic_setup_step3_finish.xml b/java/res/drawable/ic_setup_finish.xml similarity index 100% rename from java/res/drawable/ic_setup_step3_finish.xml rename to java/res/drawable/ic_setup_finish.xml diff --git a/java/res/layout/setup_wizard.xml b/java/res/layout/setup_wizard.xml index a922fdab87ff0b90694b79f59c1f2f4ca993f428..0ee24c2826194e07de8c750a1fce1be7bdf6b460 100644 --- a/java/res/layout/setup_wizard.xml +++ b/java/res/layout/setup_wizard.xml @@ -57,6 +57,7 @@ android:layout_height="24dp" android:layout_below="@id/setup_step_bullets" /> <FrameLayout + android:id="@+id/setup_steps_pane" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@id/setup_step_indicator"> @@ -70,4 +71,10 @@ android:id="@+id/setup_step3" layout="@layout/setup_step" /> </FrameLayout> + <TextView + android:id="@+id/setup_finish" + android:text="@string/setup_finish_action" + style="@style/setupStepActionLabelStyle" + android:layout_below="@id/setup_steps_pane" + android:layout_marginTop="2dp" /> </RelativeLayout> diff --git a/java/res/values/setup-styles-common.xml b/java/res/values/setup-styles-common.xml index 59a768a63573689fedea12f27af71f7b8e26827a..4e4e4a5a3969152adbc81269d973b530c551a13a 100644 --- a/java/res/values/setup-styles-common.xml +++ b/java/res/values/setup-styles-common.xml @@ -44,7 +44,7 @@ <item name="android:textSize">14sp</item> </style> <style name="setupStepActionLabelStyleCommon" parent="setupStepBaseStyle"> - <item name="android:textColor">@drawable/setup_step_action_color</item> + <item name="android:textColor">@color/setup_step_action_color</item> <item name="android:background">@drawable/setup_step_action_background</item> <item name="android:layout_height">48dp</item> <item name="android:paddingLeft">12dp</item> diff --git a/java/src/com/android/inputmethod/latin/setup/SetupActivity.java b/java/src/com/android/inputmethod/latin/setup/SetupActivity.java index cb1de1834c2cb332484f26cbab58582b69961958..0622aef081dca550e56144d7e3739eefb6b3a615 100644 --- a/java/src/com/android/inputmethod/latin/setup/SetupActivity.java +++ b/java/src/com/android/inputmethod/latin/setup/SetupActivity.java @@ -20,7 +20,6 @@ import android.app.Activity; import android.content.Context; import android.content.Intent; import android.content.res.Resources; -import android.graphics.drawable.Drawable; import android.os.Bundle; import android.os.Message; import android.provider.Settings; @@ -39,8 +38,9 @@ import com.android.inputmethod.latin.StaticInnerHandlerWrapper; import java.util.HashMap; -public final class SetupActivity extends Activity { +public final class SetupActivity extends Activity implements View.OnClickListener { private SetupStepIndicatorView mStepIndicatorView; + private TextView mActionFinish; private final SetupStepGroup mSetupSteps = new SetupStepGroup(); private static final String STATE_STEP = "step"; private int mStepNumber; @@ -152,6 +152,19 @@ public final class SetupActivity extends Activity { } }); mSetupSteps.addStep(STEP_3, step3); + + mActionFinish = (TextView)findViewById(R.id.setup_finish); + TextViewCompatUtils.setCompoundDrawablesRelativeWithIntrinsicBounds(mActionFinish, + getResources().getDrawable(R.drawable.ic_setup_finish), null, null, null); + mActionFinish.setOnClickListener(this); + } + + @Override + public void onClick(final View v) { + if (v == mActionFinish) { + finish(); + return; + } } private void invokeSetupWizardOfThisIme() { @@ -166,7 +179,8 @@ public final class SetupActivity extends Activity { final Intent intent = new Intent(); intent.setClass(this, SettingsActivity.class); intent.setFlags(Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED - | Intent.FLAG_ACTIVITY_CLEAR_TOP); + | Intent.FLAG_ACTIVITY_CLEAR_TOP + | Intent.FLAG_ACTIVITY_NO_HISTORY); startActivity(intent); } @@ -278,6 +292,7 @@ public final class SetupActivity extends Activity { mStepIndicatorView.setIndicatorPosition( getIndicatorPosition(mStepNumber, mSetupSteps.getTotalStep(), layoutDirection)); mSetupSteps.enableStep(mStepNumber); + mActionFinish.setVisibility((mStepNumber == STEP_3) ? View.VISIBLE : View.GONE); } private static float getIndicatorPosition(final int step, final int totalStep, @@ -337,8 +352,9 @@ public final class SetupActivity extends Activity { @Override public void onClick(final View v) { - if (mAction != null) { + if (v == mActionLabel && mAction != null) { mAction.run(); + return; } } }