summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMaurice Lam <yukl@google.com>2014-12-03 15:17:46 -0800
committerMaurice Lam <yukl@google.com>2014-12-04 12:20:47 -0800
commitaf103b4eb476881fb27cfb9b6dc94b3fa5e74f28 (patch)
tree3f3a3e033fd81fc5ec30bcca7a4c079a03c0acb2 /src
parent3c00e18ba7425a1837a1e458f16e5192254a196b (diff)
downloadpackages_apps_Settings-af103b4eb476881fb27cfb9b6dc94b3fa5e74f28.tar.gz
packages_apps_Settings-af103b4eb476881fb27cfb9b6dc94b3fa5e74f28.tar.bz2
packages_apps_Settings-af103b4eb476881fb27cfb9b6dc94b3fa5e74f28.zip
[FRP] Use setup wizard nav bar buttons
Use setup wizard nav bar buttons instead of custom button bar for lock screen setup. Bug: 18482708 Change-Id: I471f475ebe6bc7ba8cfbd179daddd854c1b6982a
Diffstat (limited to 'src')
-rw-r--r--src/com/android/settings/ChooseLockPassword.java22
-rw-r--r--src/com/android/settings/ChooseLockPattern.java88
-rw-r--r--src/com/android/settings/SetupChooseLockPassword.java27
-rw-r--r--src/com/android/settings/SetupChooseLockPattern.java48
4 files changed, 141 insertions, 44 deletions
diff --git a/src/com/android/settings/ChooseLockPassword.java b/src/com/android/settings/ChooseLockPassword.java
index 2c0598681..fa1c678a2 100644
--- a/src/com/android/settings/ChooseLockPassword.java
+++ b/src/com/android/settings/ChooseLockPassword.java
@@ -24,14 +24,12 @@ import com.android.settings.notification.RedactionInterstitial;
import android.app.Activity;
import android.app.Fragment;
import android.app.admin.DevicePolicyManager;
-import android.content.ContentResolver;
import android.content.Context;
import android.content.Intent;
import android.inputmethodservice.KeyboardView;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
-import android.provider.Settings;
import android.text.Editable;
import android.text.InputType;
import android.text.Selection;
@@ -416,7 +414,7 @@ public class ChooseLockPassword extends SettingsActivity {
return null;
}
- private void handleNext() {
+ public void handleNext() {
if (mDone) return;
final String pin = mPasswordEntry.getText().toString();
@@ -460,6 +458,14 @@ public class ChooseLockPassword extends SettingsActivity {
}
}
+ protected void setNextEnabled(boolean enabled) {
+ mNextButton.setEnabled(enabled);
+ }
+
+ protected void setNextText(int text) {
+ mNextButton.setText(text);
+ }
+
public void onClick(View v) {
switch (v.getId()) {
case R.id.next_button:
@@ -502,22 +508,22 @@ public class ChooseLockPassword extends SettingsActivity {
String msg = getString(mIsAlphaMode ? R.string.lockpassword_password_too_short
: R.string.lockpassword_pin_too_short, mPasswordMinLength);
mHeaderText.setText(msg);
- mNextButton.setEnabled(false);
+ setNextEnabled(false);
} else {
String error = validatePassword(password);
if (error != null) {
mHeaderText.setText(error);
- mNextButton.setEnabled(false);
+ setNextEnabled(false);
} else {
mHeaderText.setText(R.string.lockpassword_press_continue);
- mNextButton.setEnabled(true);
+ setNextEnabled(true);
}
}
} else {
mHeaderText.setText(mIsAlphaMode ? mUiStage.alphaHint : mUiStage.numericHint);
- mNextButton.setEnabled(length > 0);
+ setNextEnabled(length > 0);
}
- mNextButton.setText(mUiStage.buttonText);
+ setNextText(mUiStage.buttonText);
}
public void afterTextChanged(Editable s) {
diff --git a/src/com/android/settings/ChooseLockPattern.java b/src/com/android/settings/ChooseLockPattern.java
index 85694b199..5bf929170 100644
--- a/src/com/android/settings/ChooseLockPattern.java
+++ b/src/com/android/settings/ChooseLockPattern.java
@@ -150,6 +150,14 @@ public class ChooseLockPattern extends SettingsActivity {
}
}
+ protected void setRightButtonEnabled(boolean enabled) {
+ mFooterRightButton.setEnabled(enabled);
+ }
+
+ protected void setRightButtonText(int text) {
+ mFooterRightButton.setText(text);
+ }
+
/**
* The pattern listener that responds according to a user choosing a new
* lock pattern.
@@ -390,43 +398,51 @@ public class ChooseLockPattern extends SettingsActivity {
return RedactionInterstitial.createStartIntent(context);
}
- public void onClick(View v) {
- if (v == mFooterLeftButton) {
- if (mUiStage.leftMode == LeftButtonMode.Retry) {
- mChosenPattern = null;
- mLockPatternView.clearPattern();
- updateStage(Stage.Introduction);
- } else if (mUiStage.leftMode == LeftButtonMode.Cancel) {
- // They are canceling the entire wizard
- getActivity().setResult(RESULT_FINISHED);
- getActivity().finish();
- } else {
- throw new IllegalStateException("left footer button pressed, but stage of " +
+ public void handleLeftButton() {
+ if (mUiStage.leftMode == LeftButtonMode.Retry) {
+ mChosenPattern = null;
+ mLockPatternView.clearPattern();
+ updateStage(Stage.Introduction);
+ } else if (mUiStage.leftMode == LeftButtonMode.Cancel) {
+ // They are canceling the entire wizard
+ getActivity().setResult(RESULT_FINISHED);
+ getActivity().finish();
+ } else {
+ throw new IllegalStateException("left footer button pressed, but stage of " +
mUiStage + " doesn't make sense");
- }
- } else if (v == mFooterRightButton) {
+ }
+ }
- if (mUiStage.rightMode == RightButtonMode.Continue) {
- if (mUiStage != Stage.FirstChoiceValid) {
- throw new IllegalStateException("expected ui stage " + Stage.FirstChoiceValid
- + " when button is " + RightButtonMode.Continue);
- }
- updateStage(Stage.NeedToConfirm);
- } else if (mUiStage.rightMode == RightButtonMode.Confirm) {
- if (mUiStage != Stage.ChoiceConfirmed) {
- throw new IllegalStateException("expected ui stage " + Stage.ChoiceConfirmed
- + " when button is " + RightButtonMode.Confirm);
- }
- saveChosenPatternAndFinish();
- } else if (mUiStage.rightMode == RightButtonMode.Ok) {
- if (mUiStage != Stage.HelpScreen) {
- throw new IllegalStateException("Help screen is only mode with ok button, but " +
- "stage is " + mUiStage);
- }
- mLockPatternView.clearPattern();
- mLockPatternView.setDisplayMode(DisplayMode.Correct);
- updateStage(Stage.Introduction);
+ public void handleRightButton() {
+ if (mUiStage.rightMode == RightButtonMode.Continue) {
+ if (mUiStage != Stage.FirstChoiceValid) {
+ throw new IllegalStateException("expected ui stage "
+ + Stage.FirstChoiceValid + " when button is "
+ + RightButtonMode.Continue);
+ }
+ updateStage(Stage.NeedToConfirm);
+ } else if (mUiStage.rightMode == RightButtonMode.Confirm) {
+ if (mUiStage != Stage.ChoiceConfirmed) {
+ throw new IllegalStateException("expected ui stage " + Stage.ChoiceConfirmed
+ + " when button is " + RightButtonMode.Confirm);
+ }
+ saveChosenPatternAndFinish();
+ } else if (mUiStage.rightMode == RightButtonMode.Ok) {
+ if (mUiStage != Stage.HelpScreen) {
+ throw new IllegalStateException("Help screen is only mode with ok button, "
+ + "but stage is " + mUiStage);
}
+ mLockPatternView.clearPattern();
+ mLockPatternView.setDisplayMode(DisplayMode.Correct);
+ updateStage(Stage.Introduction);
+ }
+ }
+
+ public void onClick(View v) {
+ if (v == mFooterLeftButton) {
+ handleLeftButton();
+ } else if (v == mFooterRightButton) {
+ handleRightButton();
}
}
@@ -489,8 +505,8 @@ public class ChooseLockPattern extends SettingsActivity {
mFooterLeftButton.setEnabled(stage.leftMode.enabled);
}
- mFooterRightButton.setText(stage.rightMode.text);
- mFooterRightButton.setEnabled(stage.rightMode.enabled);
+ setRightButtonText(stage.rightMode.text);
+ setRightButtonEnabled(stage.rightMode.enabled);
// same for whether the patten is enabled
if (stage.patternEnabled) {
diff --git a/src/com/android/settings/SetupChooseLockPassword.java b/src/com/android/settings/SetupChooseLockPassword.java
index ed6fab4c0..494d487f5 100644
--- a/src/com/android/settings/SetupChooseLockPassword.java
+++ b/src/com/android/settings/SetupChooseLockPassword.java
@@ -47,6 +47,9 @@ public class SetupChooseLockPassword extends ChooseLockPassword
return intent;
}
+ private SetupWizardNavBar mNavigationBar;
+ private SetupChooseLockPasswordFragment mFragment;
+
@Override
protected boolean isValidFragment(String fragmentName) {
return SetupChooseLockPasswordFragment.class.getName().equals(fragmentName);
@@ -65,6 +68,7 @@ public class SetupChooseLockPassword extends ChooseLockPassword
@Override
public void onNavigationBarCreated(SetupWizardNavBar bar) {
+ mNavigationBar = bar;
SetupWizardUtils.setImmersiveMode(this, bar);
}
@@ -75,6 +79,17 @@ public class SetupChooseLockPassword extends ChooseLockPassword
@Override
public void onNavigateNext() {
+ if (mFragment != null) {
+ mFragment.handleNext();
+ }
+ }
+
+ @Override
+ public void onAttachFragment(Fragment fragment) {
+ super.onAttachFragment(fragment);
+ if (fragment instanceof SetupChooseLockPasswordFragment) {
+ mFragment = (SetupChooseLockPasswordFragment) fragment;
+ }
}
public static class SetupChooseLockPasswordFragment extends ChooseLockPasswordFragment {
@@ -100,5 +115,17 @@ public class SetupChooseLockPassword extends ChooseLockPassword
SetupWizardUtils.copySetupExtras(getActivity().getIntent(), intent);
return intent;
}
+
+ @Override
+ protected void setNextEnabled(boolean enabled) {
+ SetupChooseLockPassword activity = (SetupChooseLockPassword) getActivity();
+ activity.mNavigationBar.getNextButton().setEnabled(enabled);
+ }
+
+ @Override
+ protected void setNextText(int text) {
+ SetupChooseLockPassword activity = (SetupChooseLockPassword) getActivity();
+ activity.mNavigationBar.getNextButton().setText(text);
+ }
}
}
diff --git a/src/com/android/settings/SetupChooseLockPattern.java b/src/com/android/settings/SetupChooseLockPattern.java
index b44dea107..a30da73e6 100644
--- a/src/com/android/settings/SetupChooseLockPattern.java
+++ b/src/com/android/settings/SetupChooseLockPattern.java
@@ -26,6 +26,7 @@ import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
+import android.widget.Button;
/**
* Setup Wizard's version of ChooseLockPattern screen. It inherits the logic and basic structure
@@ -45,6 +46,9 @@ public class SetupChooseLockPattern extends ChooseLockPattern
return intent;
}
+ private SetupWizardNavBar mNavigationBar;
+ private SetupChooseLockPatternFragment mFragment;
+
@Override
protected boolean isValidFragment(String fragmentName) {
return SetupChooseLockPatternFragment.class.getName().equals(fragmentName);
@@ -63,6 +67,7 @@ public class SetupChooseLockPattern extends ChooseLockPattern
@Override
public void onNavigationBarCreated(SetupWizardNavBar bar) {
+ mNavigationBar = bar;
SetupWizardUtils.setImmersiveMode(this, bar);
}
@@ -73,10 +78,23 @@ public class SetupChooseLockPattern extends ChooseLockPattern
@Override
public void onNavigateNext() {
+ if (mFragment != null) {
+ mFragment.handleRightButton();
+ }
+ }
+
+ @Override
+ public void onAttachFragment(Fragment fragment) {
+ super.onAttachFragment(fragment);
+ if (fragment instanceof ChooseLockPatternFragment) {
+ mFragment = (SetupChooseLockPatternFragment) fragment;
+ }
}
public static class SetupChooseLockPatternFragment extends ChooseLockPatternFragment {
+ private Button mRetryButton;
+
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
@@ -88,6 +106,8 @@ public class SetupChooseLockPattern extends ChooseLockPattern
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
+ mRetryButton = (Button) view.findViewById(R.id.retryButton);
+ mRetryButton.setOnClickListener(this);
super.onViewCreated(view, savedInstanceState);
SetupWizardUtils.setHeaderText(getActivity(), getActivity().getTitle());
}
@@ -98,5 +118,33 @@ public class SetupChooseLockPattern extends ChooseLockPattern
SetupWizardUtils.copySetupExtras(getActivity().getIntent(), intent);
return intent;
}
+
+ @Override
+ public void onClick(View v) {
+ if (v == mRetryButton) {
+ handleLeftButton();
+ } else {
+ super.onClick(v);
+ }
+ }
+
+ @Override
+ protected void setRightButtonEnabled(boolean enabled) {
+ SetupChooseLockPattern activity = (SetupChooseLockPattern) getActivity();
+ activity.mNavigationBar.getNextButton().setEnabled(enabled);
+ }
+
+ @Override
+ protected void setRightButtonText(int text) {
+ SetupChooseLockPattern activity = (SetupChooseLockPattern) getActivity();
+ activity.mNavigationBar.getNextButton().setText(text);
+ }
+
+ @Override
+ protected void updateStage(Stage stage) {
+ super.updateStage(stage);
+ // Only enable the button for retry
+ mRetryButton.setEnabled(stage == Stage.FirstChoiceValid);
+ }
}
}