Make setup wizard step number highlighted when activated

Bug: 8159728
Change-Id: I62ccbebaae0a0c4a93ad7c155fc3020a7f357f3c
main
Tadashi G. Takaoka 2013-04-17 18:53:43 +09:00
parent 464202047d
commit b84c0468e4
2 changed files with 31 additions and 20 deletions

View File

@ -46,12 +46,15 @@
android:paddingTop="16dp" android:paddingTop="16dp"
android:orientation="horizontal"> android:orientation="horizontal">
<TextView <TextView
android:id="@+id/setup_step1_bullet"
style="@style/setupStepBulletStyle" style="@style/setupStepBulletStyle"
android:text="@string/setup_step1_bullet" /> android:text="@string/setup_step1_bullet" />
<TextView <TextView
android:id="@+id/setup_step2_bullet"
style="@style/setupStepBulletStyle" style="@style/setupStepBulletStyle"
android:text="@string/setup_step2_bullet" /> android:text="@string/setup_step2_bullet" />
<TextView <TextView
android:id="@+id/setup_step3_bullet"
style="@style/setupStepBulletStyle" style="@style/setupStepBulletStyle"
android:text="@string/setup_step3_bullet" /> android:text="@string/setup_step3_bullet" />
</LinearLayout> </LinearLayout>

View File

@ -108,16 +108,15 @@ public final class SetupActivity extends Activity {
return; return;
} }
// TODO: Use sans-serif-thin font family depending on the system locale white list and
// the SDK version.
final TextView titleView = (TextView)findViewById(R.id.setup_title); final TextView titleView = (TextView)findViewById(R.id.setup_title);
final int appName = getApplicationInfo().labelRes; final String applicationName = getResources().getString(getApplicationInfo().labelRes);
titleView.setText(getString(R.string.setup_steps_title, getString(appName))); titleView.setText(getString(R.string.setup_steps_title, applicationName));
mStepIndicatorView = (SetupStepIndicatorView)findViewById(R.id.setup_step_indicator); mStepIndicatorView = (SetupStepIndicatorView)findViewById(R.id.setup_step_indicator);
final SetupStep step1 = new SetupStep(findViewById(R.id.setup_step1), final SetupStep step1 = new SetupStep(applicationName,
appName, R.string.setup_step1_title, R.string.setup_step1_instruction, (TextView)findViewById(R.id.setup_step1_bullet), findViewById(R.id.setup_step1),
R.string.setup_step1_title, R.string.setup_step1_instruction,
R.drawable.ic_setup_step1, R.string.setup_step1_action); R.drawable.ic_setup_step1, R.string.setup_step1_action);
step1.setAction(new Runnable() { step1.setAction(new Runnable() {
@Override @Override
@ -128,8 +127,9 @@ public final class SetupActivity extends Activity {
}); });
mSetupSteps.addStep(STEP_1, step1); mSetupSteps.addStep(STEP_1, step1);
final SetupStep step2 = new SetupStep(findViewById(R.id.setup_step2), final SetupStep step2 = new SetupStep(applicationName,
appName, R.string.setup_step2_title, R.string.setup_step2_instruction, (TextView)findViewById(R.id.setup_step2_bullet), findViewById(R.id.setup_step2),
R.string.setup_step2_title, R.string.setup_step2_instruction,
R.drawable.ic_setup_step2, R.string.setup_step2_action); R.drawable.ic_setup_step2, R.string.setup_step2_action);
step2.setAction(new Runnable() { step2.setAction(new Runnable() {
@Override @Override
@ -141,8 +141,9 @@ public final class SetupActivity extends Activity {
}); });
mSetupSteps.addStep(STEP_2, step2); mSetupSteps.addStep(STEP_2, step2);
final SetupStep step3 = new SetupStep(findViewById(R.id.setup_step3), final SetupStep step3 = new SetupStep(applicationName,
appName, R.string.setup_step3_title, R.string.setup_step3_instruction, (TextView)findViewById(R.id.setup_step3_bullet), findViewById(R.id.setup_step3),
R.string.setup_step3_title, R.string.setup_step3_instruction,
R.drawable.ic_setup_step3, R.string.setup_step3_action); R.drawable.ic_setup_step3, R.string.setup_step3_action);
step3.setAction(new Runnable() { step3.setAction(new Runnable() {
@Override @Override
@ -286,20 +287,26 @@ public final class SetupActivity extends Activity {
} }
static final class SetupStep implements View.OnClickListener { static final class SetupStep implements View.OnClickListener {
private final View mRootView; private final View mStepView;
private final TextView mBulletView;
private final int mActivatedColor;
private final int mDeactivatedColor;
private final TextView mActionLabel; private final TextView mActionLabel;
private Runnable mAction; private Runnable mAction;
public SetupStep(final View rootView, final int appName, final int title, public SetupStep(final String applicationName, final TextView bulletView,
final int instruction, final int actionIcon, final int actionLabel) { final View stepView, final int title, final int instruction, final int actionIcon,
mRootView = rootView; final int actionLabel) {
final Resources res = rootView.getResources(); mStepView = stepView;
final String applicationName = res.getString(appName); mBulletView = bulletView;
final Resources res = stepView.getResources();
mActivatedColor = res.getColor(R.color.setup_text_action);
mDeactivatedColor = res.getColor(R.color.setup_text_dark);
final TextView titleView = (TextView)rootView.findViewById(R.id.setup_step_title); final TextView titleView = (TextView)mStepView.findViewById(R.id.setup_step_title);
titleView.setText(res.getString(title, applicationName)); titleView.setText(res.getString(title, applicationName));
final TextView instructionView = (TextView)rootView.findViewById( final TextView instructionView = (TextView)mStepView.findViewById(
R.id.setup_step_instruction); R.id.setup_step_instruction);
if (instruction == 0) { if (instruction == 0) {
instructionView.setVisibility(View.GONE); instructionView.setVisibility(View.GONE);
@ -307,7 +314,7 @@ public final class SetupActivity extends Activity {
instructionView.setText(res.getString(instruction, applicationName)); instructionView.setText(res.getString(instruction, applicationName));
} }
mActionLabel = (TextView)rootView.findViewById(R.id.setup_step_action_label); mActionLabel = (TextView)mStepView.findViewById(R.id.setup_step_action_label);
mActionLabel.setText(res.getString(actionLabel)); mActionLabel.setText(res.getString(actionLabel));
if (actionIcon == 0) { if (actionIcon == 0) {
final int paddingEnd = ViewCompatUtils.getPaddingEnd(mActionLabel); final int paddingEnd = ViewCompatUtils.getPaddingEnd(mActionLabel);
@ -321,7 +328,8 @@ public final class SetupActivity extends Activity {
} }
public void setEnabled(final boolean enabled) { public void setEnabled(final boolean enabled) {
mRootView.setVisibility(enabled ? View.VISIBLE : View.GONE); mStepView.setVisibility(enabled ? View.VISIBLE : View.GONE);
mBulletView.setTextColor(enabled ? mActivatedColor : mDeactivatedColor);
} }
public void setAction(final Runnable action) { public void setAction(final Runnable action) {