Commit Graph

172 Commits

Author SHA1 Message Date
Kevin Chyn
8cf5bcdfa7 Reset fingerprint lockout upon successful unlock
FingerprintSettings should not start listening for fingerprints until
after Pin/Pattern/Pass is entered

Fixes: 63437524
Fixes: 63739006

Test: open FP settings, touch an invalid finger 5 times
close FP settings, re-enter FP settings, enter Pin/Pattern/Pass
touch FP with valid finger, should not be in lockout mode

Change-Id: Ia2e219824c33169a5610b36123c42aa3d6ff22c5
2017-08-09 18:49:17 -07:00
Ajay Nadathur
cfcd1c4b77 Merge "Fix fingerprint enrollment bug that fails during last leg" into oc-mr1-dev 2017-07-28 17:45:22 +00:00
Ajay Nadathur
d48d323e13 Remove extra steps in fingerprint flow
bug: 63900851
Test: Manually tested and verified
Change-Id: Ic7ff0b21dac971edf40a9a9398aef68c2fccd971
(cherry picked from commit e24f1ab745)
2017-07-27 21:57:55 +00:00
Ajay Nadathur
0449335cd8 Fix fingerprint enrollment bug that fails during last leg
- Upon configuration changes during the last leg of enrollment,
  a check is required to see if maximum progress has been reached.
  If so, the next intent has to be launched.

bug: 36656476
Test: Manually tested and verified.
Change-Id: Ie4ec75cb775f83536ad0127011aabcc87c6c5ae0
2017-07-26 18:29:29 +00:00
Ajay Kumar Nadathur Sreenivasan
0f9d39518b Merge "Screen lock type metrics are not reported if user goes back" into oc-dr1-dev am: 9afa37ac3c
am: d6e1be947e

Change-Id: I253706d61d4c917601581457b128f7fedec3a12c
2017-07-07 18:03:31 +00:00
Ajay Nadathur
3d9fffed16 Screen lock type metrics are not reported if user goes back
bug: 63116381
Test: Manually tested and verified that metrics are passed back to
setupwizard. Also added robolectric tests
Change-Id: I9d095754addc34121a2a0a12b3e5d1479ff15a78
2017-07-06 14:56:34 -07:00
Maurice Lam
21bd3994c4 Merge "Read theme for lock screen flows" into oc-dr1-dev am: 864d5c96d7
am: d3d1210fad

Change-Id: I6f689b5242b122eb2f4388de10acb7e4c7e3b81e
2017-06-29 02:07:19 +00:00
Maurice Lam
9990f39722 Read theme for lock screen flows
Move the applyThemeResource calls up from the setup wizard specific
subclasses up to the settings classes so that it will get GLIF v2
theme on devices that request it.

Test: Manual
Bug: 62906814
Change-Id: I6ff4ff8d9ed3e6090b35b4ae7197e5d01f5a61f8
2017-06-28 15:06:09 -07:00
TreeHugger Robot
c343993be3 Merge "Improve delete fingerprint UI." 2017-06-27 20:27:49 +00:00
Fan Zhang
8a1fd388fd Improve delete fingerprint UI.
- Make fingerprint preference use two_target preference
- And add a delete button as secondary target
- Remove delete fingerint code from RenameDeleteDialog, and move to new
  DeleteFingerprintDialog
- Some code cleanup
- Tests

Change-Id: I49d9c7d1d03497f07c7e20a805f23e6da934f587
Fix: 37783186
Test: make RunSettingsRoboTests
2017-06-27 11:33:23 -07:00
Maurice Lam
fbfca43e6e Merge "Rename buttons in lock screen setup" into oc-dr1-dev 2017-06-27 01:10:49 +00:00
Maurice Lam
624212f43c Merge "Add skip button to fingerprint enrolling screen" into oc-dr1-dev 2017-06-27 01:10:23 +00:00
Maurice Lam
c57b19d80c Rename buttons in lock screen setup
- "Continue" in choose lock flows are renamed to "Next"
- "Done" in fingerprint enroll finish screen is renamed to "Next"
  during setup flow.

Test: Manual
Bug: 62839648
Change-Id: I3ea77b759b654d7c1da1f7b545781c9dfd74caa3
2017-06-23 19:15:06 -07:00
Maurice Lam
870b69b067 Add skip button to fingerprint enrolling screen
Test: Manual
Bug: 62839648
Change-Id: I3f05c64eb5b88cd91c8c98b02845a99df2d27203
2017-06-23 18:48:13 -07:00
Maurice Lam
70a031fe06 Update buttons in FP find sensor
Remove the next button (so the user has to touch the sensor to
proceed), and add a skip button.

Test: cd tests/robotests && mma
Bug: 62839648
Change-Id: I555948ac2f3235e08b91f0957aa8e0ce24535c08
2017-06-23 18:05:20 -07:00
TreeHugger Robot
cf3130338c Merge "Create add more fingerprint suggestion for setup" into oc-dr1-dev 2017-06-22 19:58:51 +00:00
Maurice Lam
34a181aceb Create add more fingerprint suggestion for setup
Create FingerprintSuggestionActivity which is a suggestion shown in
setup to allow the user to add more fingerprints for unlocking the
device.

Test: cd tests/robotests && mma
Bug: 62638180
Change-Id: Icfab9bd2523fdeadc4cc6f0ad4f45606260c4755
2017-06-21 17:17:48 -07:00
Kevin Chyn
00d21e3c75 FingerprintSettings should handle FINGERPRINT_ERROR_LOCKOUT_PERMANENT
Fixes: 62681560

Test: open fingerprint settings, use an unenrolled fingerprint to
authenticate 20 times in a row. Look at logs and it shouldn't be flooded
with fingerprint logs

Change-Id: I59051e8d3a9e040bcd894e956abcbf0497838988
2017-06-20 14:24:43 -07:00
Maurice Lam
4c930fc2d5 Allow skipping PIN setup screen
So that setup wizard can show PIN option by default.

Test: Added Robolectric and instrumentation tests
Bug: 38509560
Change-Id: Id72744dd444b9b026ca5f28f230bae3bec254b2f
(cherry picked from commit 0f897d79f6)
2017-06-15 20:23:21 +00:00
TreeHugger Robot
8e7cd4e6fe Merge "String update for setup wizard" 2017-06-02 22:33:57 +00:00
Kevin Chyn
7359c0d5f4 Merge "Add onResume to FingerprintEnrollEnrolling" into oc-dev am: 98b67a4e94
am: 618467daff

Change-Id: I78b14e932635fd316fa96fc2cfadcdf9567e724c
2017-06-01 08:25:07 +00:00
Kevin Chyn
bb846a6608 Add onResume to FingerprintEnrollEnrolling
Fixes: 62233947

Test: revoke usb permissions, start enrolling, attach usb,
	press ok, continue enroll. enroll should be able to continue
	and complete

onPause was added in b/38102355, but onResume was not added. We should
set the listener in onResume()

Change-Id: I59e617b4789f028d01b86d38049671888c07a5ec
2017-05-31 17:11:03 -07:00
Maurice Lam
1a07ab4790 String update for setup wizard
Test: Manual
Bug: 38503505
Change-Id: Idc881e5288ab205dee0a85a02d1365f6c4901c88
2017-05-31 14:59:37 -07:00
Maurice Lam
ebb8294333 Support find sensor screen with no animation
Some illustration view can manage their own start-stop lifecycle and
doesn't need to be handled by the activity.

Make mAnimation null if the animation is not an instance of
FingerprintFindSensorAnimation.

Test: cd tests/robotests && mma
Bug: 38463695
Change-Id: I41989e5cb0639407f58d9c8edda0eef93adbf2e8
2017-05-25 11:21:16 -07:00
Kevin Chyn
1c38d4bbe7 Merge "Queue events if enrollment sidecar listener is null" into oc-dev am: 32ad1c0db4
am: 35fb3302d7

Change-Id: I94cfe913b3e66ce27a0ee7ea439d3ed6a77942f3
2017-05-22 23:09:35 +00:00
TreeHugger Robot
32ad1c0db4 Merge "Queue events if enrollment sidecar listener is null" into oc-dev 2017-05-22 22:40:42 +00:00
Kevin Chyn
a1b3ec5963 Queue events if enrollment sidecar listener is null
Fixes: 38102355

Test: manual
Change-Id: I98bd347ee98117f7489376abd94d276d20e7b762
2017-05-22 12:10:03 -07:00
Kevin Chyn
3795082c83 Merge "Fix settings crash due to enrolling error" into oc-dev am: 5ccc2fe242
am: 2ca8635a5e

Change-Id: I167959f2ef69bcda7fb604e3f3e85512799ce691
2017-05-20 00:01:59 +00:00
Kevin Chyn
468a72aed3 Fix settings crash due to enrolling error
Test: There's a condition where FP enrollment fails and a fragment
transaction/commit occurs after onSaveInstanceState. We should be
using commitAllowingStateLoss() instead of commit()

I'm not able to repro this issue but from looking at the stack
trace this should fix the problem.


Fixes: 38432354

Change-Id: I56b9c8d2efc45e9d77f29b897280f5378c3a84a0
2017-05-19 13:04:08 -07:00
TreeHugger Robot
821c83e749 Merge "Default setup wizard to use PIN" 2017-05-18 08:43:24 +00:00
Charles He
80c3a16e92 Merge "Properly remove fingerprints when removing device lock." into oc-dev am: 98229bdf32
am: af36129ae9

Change-Id: Iffc4f16ac3301bc0fbe9b4d8a1c88b3e71ce2373
2017-05-17 13:12:00 +00:00
Charles He
7569bb1881 Properly remove fingerprints when removing device lock.
When strong auth (PIN, password, or pattern) is removed from a user,
fingerprints enrolled for that user should also be removed. Then, if the
user has a work profile guarded by a unified work challenge, the work
profile's fingerprints should also be removed.

Previously, when removing the fingerprints of the current user,
ChooseLockGeneric checked the finger id of the onRemovalSucceeded() and
onRemovalError() callbacks, and assumed the removal had completed when
the id was 0. Only after this would it initiate the removal of work
profile fingerprints, if any.

However, the finger id is actually non-zero even for the user's last
fingerprint. This means the work profile fingerprints (under unified
challenge) were never removed. Another more visible symptom was that
when the user removed the device lock by choosing "None" or "Swipe" in
ChooseLockGeneric, the activity failed to exit, since finish() is called
only at the end of the removal flow which was not executed.

In this CL, we check the number of remaining fingerprints instead of
relying on the finger id, thus allowing the removal flow to complete and
the activity to finish().

Bug: 37938345
Test: manual, both with and without work profile
Test: make SettingsRoboTests
Change-Id: Ic04fd01177ad6d4a061023a4b6889af585f8f2b7
2017-05-16 23:40:38 +01:00
Maurice Lam
edb3944984 Default setup wizard to use PIN
- Added "Screen lock options" button in PIN screen, controlled by
  extra EXTRA_SHOW_OPTIONS_BUTTON, which will create a dialog to ask
  the user to choose another screen lock type.
- Extracted ScreenLockType enum and ChooseLockGenericController that
  can be shared by ChooseLockGeneric and the dialog
  ChooseLockTypeDialogFragment.
- The intent extra EXTRA_SHOW_OPTIONS_BUTTON will be set if
  ChooseLockGeneric screen starts ChooseLockPassword /
  ChooseLockPattern without asking the user. (Although the extra is
  ignored by ChooseLockPattern currently)
- Fix layout alignment for the password entry field to remove the
  extra 4dp padding on the sides.

Test: cd tests/robotests && mma
Bug: 35442933
Bug: 38002299
Change-Id: I877fbe08a0c05bb97175e1cbf0260ea6dbda22e2
2017-05-15 21:12:23 -07:00
Maurice Lam
2eb170cd6f Clean up choose lock intent creation
Consolidated the many variants of ChooseLock*.createIntent, so that
it will take the same set of arguments.

Also modified SetupChooseLock*.createIntent to modifyIntentForSetup,
which will take the intent created by ChooseLock* and modify it for
use with setup.

Test: cd tests/robotests && mma
Change-Id: I5ff033f459c33ec9980872a536b3996d89f2bbbb
2017-05-12 15:35:20 -07:00
Juan Lang
777ed2535a Depend on SettingsLib's version of lifecycle and FooterMixin.
The implementations have been imported into SettingsLib. Setting's copy
can now be removed, which this change also does.

Test: Manually check battery status, which uses FooterMixin, looks OK.
make RunSettingsLibRobotTests && make RunSettingsRoboTests
     && make RunSettingsGoogleRoboTests
Change-Id: I6539605fdad80d156ff5ff249e68df4a1c412067
2017-05-12 11:10:46 -07:00
Maurice Lam
e1976ac302 Check for sidecar null-ness before removing
Test: cd tests/robotests && mma
Bug: 36681116
Change-Id: Id48113502c538b607d92700d3e58943614cfc150
2017-05-10 17:17:44 -07:00
Kevin Chyn
814079f27f FP name shouldn't be allowed to allow/display non-null names
Fixes: 37360324
Test: try to save an empty FP name
make sure it doesn't display the empty name

Change-Id: Ie81699abc0da9513e5173364e8ae969bbe195ac6
2017-04-14 17:48:28 -07:00
TreeHugger Robot
78dce02079 Merge "renaming/removing fingerprints should be reflected in UI immediately" into oc-dev 2017-04-07 20:55:15 +00:00
Kevin Chyn
474178d094 renaming/removing fingerprints should be reflected in UI immediately
Fixes 30252265
Test: manual

Change-Id: I5b1bcfff6a6a9ae407db6084562d0244cc5c45c2
2017-04-07 11:52:00 -07:00
Jim Miller
d5a3c53733 Don't crash if we get a onRemove() callback from Fingerprint
Before this fix, it was possible to get a callback after the activity
finishes.  This just ensures the operation is a no-op.

Fixes bug 37106041

Test: remove all but last fingerprint and hit back while rotating; check that
Settings doesn't crash.

Change-Id: I99df4f7c06e345d1ed6041a75606b0cc43edb300
2017-04-07 01:22:47 +00:00
Daniel Nishi
2acf0c1125 Revert "renaming/removing fingerprints should be reflected in UI if fingerprintservice lags"
This reverts commit bb994166cb.

Change-Id: I713012a3c449311b5daf8af81b97c050889560c7
2017-04-05 20:04:55 +00:00
Kevin Chyn
bb994166cb renaming/removing fingerprints should be reflected in UI if fingerprintservice lags
Bug: 30252265
Test: manual
Change-Id: I27761608e52f1437fc7a43bfb48a1f09922d1c0f
2017-04-05 02:34:49 +00:00
Doris Ling
6709b6d399 Add null check for the media player when surface texture is available.
- Call to MediaPlayer.create() method can return null, and hence we need
to check the return value before trying access the media player.

Change-Id: I4a5e0edbd6db21b678efb05ea733187f34185432
Fix: 36668356
Test: make RunSettingsRoboTests
2017-03-28 18:28:44 +00:00
Maurice Lam
019593072b Update fingerprint enrolling flow
1. Make FingerprintEnrollFinish stay on the back stack during "add
   another"
2. Remove skip button from the enrolling screen, since the user can
   now back out of the enrollment flow, or back to
   FingerprintEnrollFinish and press "done" there.

Test: Run FingerprintEnrollFinishTest with `am instrument`
Bug: 32054268
Change-Id: Icaf017952d6582a14b4d0904b7ee67ad22e5280d
2017-03-13 10:22:06 -07:00
Maurice Lam
92d3c1e653 [Fingerprint] Don't show warning dialog if screen lock is set up
If the keyguard is already secure (i.e. if the backup screen lock is
already set up), do not show the skip dialog which warns user about
the danger of not having a screen lock.

Bug: 34129157
Test: adb shell am instrument -w com.android.settings.tests.unit
Change-Id: I6f777631487de89ab25a08ea017dd6194dde464d
2017-01-12 14:39:29 -08:00
TreeHugger Robot
a8dee23ee5 Merge "Hide next button when max fingerprints enrolled" 2016-12-15 22:57:27 +00:00
Fan Zhang
d5b48454a3 Build a new FooterPreference UI.
- Create a new layout for footer prefs.
- Create a new FooterPreference type to use the layout
- Create a Mixin to create and add the pref to screen
- Create a new lifecycle observer type to invoke mixin at right time
- Switch SettingsPreferenceFragment to use footer mixin.
- Switch FingerprintSettings to use the new footer pref.

Bug: 33579394
Test: RunSettingsRoboTests
Change-Id: I548ac39a0d120196a7ffed09b4f98bd9a80bae90
2016-12-14 16:41:49 -08:00
Maurice Lam
f8a325c7c6 Remove WifiSetupActivity
That activity was copied into setup wizard and is no longer used.

Also removed setup_illustration_lock_screen because that is also
not used in the current GLIF theme.

Test: Existing Robolectric tests pass
Bug: 33590605
Change-Id: Ib2ea02a5e4bce17a7ea829b854f73caf7d5c5f97
2016-12-14 22:41:58 +00:00
Maurice Lam
016e4c6dad Hide next button when max fingerprints enrolled
Hide the next button in FingerprintEnrollIntroduction when the
maximum number of fingerprints is enrolled, and show a message
telling the user about the error.

Test: Added FingerprintEnrollIntroductionTest
Bug: 32406375
Change-Id: If8e3c4f5eb13dd2b3edb5c0442d8f34a16a22674
2016-12-06 18:56:44 +00:00
Fan Zhang
2d0b344736 Add InstrumentFragment for non-PreferenceFragment types.
This allows app fragment use a less heavyweight fragment as super class
if they don't need PreferenceFragment. Using this class as base is
generally easier to set up robolectric tests too.

Bug: 33354536
Test: RunSettingsRoboTests
Change-Id: I91c4d242ea0333c76c8767c03c3f18dee6b6e104
2016-12-05 17:13:33 -08:00