Merge "Propagate intent extras and finish activity properly" into qt-dev
am: 7ac16f152e

Change-Id: I5bc447218d41fc098ea489c5fb8defdf5381f88d
diff --git a/src/com/android/settings/biometrics/face/FaceEnrollEducation.java b/src/com/android/settings/biometrics/face/FaceEnrollEducation.java
index 9660f3b..6e162dc 100644
--- a/src/com/android/settings/biometrics/face/FaceEnrollEducation.java
+++ b/src/com/android/settings/biometrics/face/FaceEnrollEducation.java
@@ -57,6 +57,7 @@
     private IllustrationVideoView mIllustrationNormal;
     private View mIllustrationAccessibility;
     private Handler mHandler;
+    private Intent mResultIntent;
 
     private CompoundButton.OnCheckedChangeListener mSwitchDiversityListener =
             new CompoundButton.OnCheckedChangeListener() {
@@ -151,6 +152,9 @@
             intent.setClass(this, FaceEnrollEnrolling.class);
         }
         intent.putExtra(EXTRA_KEY_REQUIRE_DIVERSITY, !mSwitchDiversity.isChecked());
+        if (mResultIntent != null) {
+            intent.putExtras(mResultIntent);
+        }
         WizardManagerHelper.copyWizardManagerExtras(getIntent(), intent);
         startActivityForResult(intent, BIOMETRIC_FIND_SENSOR_REQUEST);
     }
@@ -162,9 +166,13 @@
 
     @Override
     protected void onActivityResult(int requestCode, int resultCode, Intent data) {
+        mResultIntent = data;
         if (requestCode == BIOMETRIC_FIND_SENSOR_REQUEST) {
-            setResult(resultCode);
-            finish();
+            // If the user finished or skipped enrollment, finish this activity
+            if (resultCode == RESULT_SKIP || resultCode == RESULT_FINISHED) {
+                setResult(resultCode);
+                finish();
+            }
         }
     }