Code drop from //branches/cupcake/...@124589
diff --git a/src/com/android/settings/ChooseLockPatternExample.java b/src/com/android/settings/ChooseLockPatternExample.java
index 5feba4c..77517b9 100644
--- a/src/com/android/settings/ChooseLockPatternExample.java
+++ b/src/com/android/settings/ChooseLockPatternExample.java
@@ -25,6 +25,7 @@
 import android.widget.ImageView;
 
 public class ChooseLockPatternExample extends Activity implements View.OnClickListener {
+    private static final int REQUESTCODE_CHOOSE = 1;
     private static final long START_DELAY = 1000;
     protected static final String TAG = "Settings";
     private View mNextButton;
@@ -59,15 +60,24 @@
     
     public void onClick(View v) {
         if (v == mSkipButton) {
+            // Canceling, so finish all
+            setResult(ChooseLockPattern.RESULT_FINISHED);
             finish();
         } else if (v == mNextButton) {
             stopAnimation(mAnimation);
             Intent intent = new Intent(this, ChooseLockPattern.class);
-            startActivity(intent);
+            startActivityForResult(intent, REQUESTCODE_CHOOSE);
+        }
+    }
+    
+    @Override
+    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
+        if (requestCode == REQUESTCODE_CHOOSE && resultCode == ChooseLockPattern.RESULT_FINISHED) {
+            setResult(resultCode);
             finish();
         }
     }
-
+    
     private void initViews() {
         mNextButton = findViewById(R.id.next_button);
         mNextButton.setOnClickListener(this);