tree b254e57feb5d72affc0ff3beb344b3501c06562a
parent 42a0870b8cf2b7486f1d60ddb4b2c53fe66c6b64
author Steven Ng <stevenckng@google.com> 1477412610 +0100
committer Steven Ng <stevenckng@google.com> 1477424900 +0000

Nexus imprint setting is missing while adding corp account from SUW

+ This is caused by the encryption interstitial result code not handled
  in ChooseLockGeneric. Change the request code of launching encryption
  interstitial screen to CHOOSE_LOCK_BEFORE_FINGERPRINT_REQUEST if it
  is set new password flow.

Testing
Test: See below
1) Auto
   make RunSettingsRoboTests
2) Manual
   On a device (Nexus 5x) that shows encryption interstital screen and
   supports fingerprint.
   1) Nexus imprint flow (regression test)
      Fingerprint can be enrolled with the following flow.
      Settings > Security > Nexus Imprint > FingerprintEnrollIntroduction
      > ChooseLockGeneric (Unlock selection) > Encryption Interstitial
      > Password setup > Notification Interstitial
      > Find sensor and fingerprint enrollment
   2) Set new password test
      i) $ adb shell am start -a android.app.action.SET_NEW_PASSWORD
      ii) Click Nexus Imprint + Pattern.
      iii) Choose "Require pattern to start device"
      iv) Set a pattern lock.
      v) Choose any of the notification behavior.
      vi) Can enroll a fingerprint.

Bug: 32382952

Change-Id: Ie66ffca2e8c3cc46b5e8b619bd35986e4f41d5ab
