Merge "Migrating to new footer button for ChooseLockPattern page"

This commit is contained in:
Pasty Chang
2019-01-21 03:35:23 +00:00
committed by Android (Google) Code Review
5 changed files with 84 additions and 100 deletions

View File

@@ -50,6 +50,8 @@ import com.android.settings.core.InstrumentedFragment;
import com.android.settings.notification.RedactionInterstitial;
import com.google.android.collect.Lists;
import com.google.android.setupcompat.item.FooterButton;
import com.google.android.setupcompat.template.ButtonFooterMixin;
import com.google.android.setupdesign.GlifLayout;
import java.util.ArrayList;
@@ -171,7 +173,7 @@ public class ChooseLockPattern extends SettingsActivity {
}
public static class ChooseLockPatternFragment extends InstrumentedFragment
implements View.OnClickListener, SaveAndFinishWorker.Listener {
implements SaveAndFinishWorker.Listener {
public static final int CONFIRM_EXISTING_REQUEST = 55;
@@ -193,8 +195,8 @@ public class ChooseLockPattern extends SettingsActivity {
protected TextView mMessageText;
protected LockPatternView mLockPatternView;
protected TextView mFooterText;
private TextView mFooterLeftButton;
private TextView mFooterRightButton;
protected FooterButton mSkipOrClearButton;
private FooterButton mNextButton;
protected List<LockPatternView.Cell> mChosenPattern = null;
private ColorStateList mDefaultHeaderColorList;
@@ -232,11 +234,11 @@ public class ChooseLockPattern extends SettingsActivity {
}
protected void setRightButtonEnabled(boolean enabled) {
mFooterRightButton.setEnabled(enabled);
mNextButton.setEnabled(enabled);
}
protected void setRightButtonText(int text) {
mFooterRightButton.setText(text);
mNextButton.setText(getActivity(), text);
}
/**
@@ -287,8 +289,7 @@ public class ChooseLockPattern extends SettingsActivity {
mHeaderText.setTextColor(mDefaultHeaderColorList);
}
mFooterText.setText("");
mFooterLeftButton.setEnabled(false);
mFooterRightButton.setEnabled(false);
mNextButton.setEnabled(false);
if (mTitleHeaderScrollView != null) {
mTitleHeaderScrollView.post(new Runnable() {
@@ -487,6 +488,27 @@ public class ChooseLockPattern extends SettingsActivity {
layout.setIcon(getActivity().getDrawable(R.drawable.ic_face_header));
}
}
final ButtonFooterMixin mixin = layout.getMixin(ButtonFooterMixin.class);
mixin.setSecondaryButton(
new FooterButton.Builder(getActivity())
.setText(R.string.lockpattern_tutorial_cancel_label)
.setListener(this::onSkipOrClearButtonClick)
.setButtonType(FooterButton.ButtonType.OTHER)
.setTheme(R.style.SudGlifButton_Secondary)
.build()
);
mixin.setPrimaryButton(
new FooterButton.Builder(getActivity())
.setText(R.string.lockpattern_tutorial_continue_label)
.setListener(this::onNextButtonClick)
.setButtonType(FooterButton.ButtonType.NEXT)
.setTheme(R.style.SudGlifButton_Primary)
.build()
);
mSkipOrClearButton = mixin.getSecondaryButton();
mNextButton = mixin.getPrimaryButton();
return layout;
}
@@ -506,15 +528,9 @@ public class ChooseLockPattern extends SettingsActivity {
mFooterText = (TextView) view.findViewById(R.id.footerText);
mFooterLeftButton = (TextView) view.findViewById(R.id.footerLeftButton);
mFooterRightButton = (TextView) view.findViewById(R.id.footerRightButton);
mTitleHeaderScrollView = (ScrollView) view.findViewById(R.id
.scroll_layout_title_header);
mFooterLeftButton.setOnClickListener(this);
mFooterRightButton.setOnClickListener(this);
// make it so unhandled touch events within the unlock screen go to the
// lock pattern view.
final LinearLayoutWithDefaultTouchRecepient topLayout
@@ -623,12 +639,12 @@ public class ChooseLockPattern extends SettingsActivity {
}
}
public void onClick(View v) {
if (v == mFooterLeftButton) {
handleLeftButton();
} else if (v == mFooterRightButton) {
handleRightButton();
}
protected void onSkipOrClearButtonClick(View view) {
handleLeftButton();
}
protected void onNextButtonClick(View view) {
handleRightButton();
}
public boolean onKeyDown(int keyCode, KeyEvent event) {
@@ -711,7 +727,7 @@ public class ChooseLockPattern extends SettingsActivity {
}
}
updateFooterLeftButton(stage, mFooterLeftButton);
updateFooterLeftButton(stage);
setRightButtonText(stage.rightMode.text);
setRightButtonEnabled(stage.rightMode.enabled);
@@ -761,13 +777,13 @@ public class ChooseLockPattern extends SettingsActivity {
}
}
protected void updateFooterLeftButton(Stage stage, TextView footerLeftButton) {
protected void updateFooterLeftButton(Stage stage) {
if (stage.leftMode == LeftButtonMode.Gone) {
footerLeftButton.setVisibility(View.GONE);
mSkipOrClearButton.setVisibility(View.GONE);
} else {
footerLeftButton.setVisibility(View.VISIBLE);
footerLeftButton.setText(stage.leftMode.text);
footerLeftButton.setEnabled(stage.leftMode.enabled);
mSkipOrClearButton.setVisibility(View.VISIBLE);
mSkipOrClearButton.setText(getActivity(), stage.leftMode.text);
mSkipOrClearButton.setEnabled(stage.leftMode.enabled);
}
}