History log of /frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
df9d33e9039d8567ea82f67a76d95a7ae7ab8df8 04-May-2017 Kevin Chyn <kchyn@google.com> strong fp lockout after 20 failed attempts

Fingerprint currently locks out for 30s after every 5 failed attempts.

This change makes it so that in addition to the above,
PIN/pattern/password will be required after 20 failed attempts.

Fixes: 35954316

Test: manual
Change-Id: I3aeb0e5b5b4d5011555f60fbe6cc2c1ce702a670
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
29b3a8ad26cc416c4fd6ca3444e9c22507bc3778 04-May-2017 Charles He <qiurui@google.com> FingerprintService: refresh auth id after enroll and remove.

FingerprintService maintains a field (mAuthenticatorIds) to keep track
of the current authenticator ids of all users / profiles. It is queried
when, for example, KeyStore generates a fingerprint-bound key.
Previously, mAuthenticatorIds was not immediately updated after finger
enrollment or removal, which meant the cached authenticator id would
remain outdated until the next updateActiveGroup(). Consequently,
fingerprint-bound keys generated during this period would be incorrectly
invalidated.

In this CL, we call updateActiveGroup() when a new fingerprint is
enrolled and when all fingerprints are removed in a group. We also
ensure that getAuthenticatorId() returns 0 when the calling user has no
fingerprints enrolled, although the daemon returns a non-zero value.

Bug: 31692813
Test: manual
Test: CTS verifier > Security > Fingerprint Bound Keys Test
Change-Id: I07ea330ae0f662cefdbb54e164281e1185aafdd7
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
c2f8949b3243f7bd589d80781a438ff7ecb14833 12-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Implement enumerate in FingerprintService" into oc-dev
d1f1a0b60a660cbff9efdf77c2aed11e1f7061f2 03-Apr-2017 Kevin Chyn <kchyn@google.com> Implement enumerate in FingerprintService

Enumeration will happen only for the current active user.

Fixes 35358801
Test: manual

Change-Id: I4c935626edba6eceb1aec4f79a7b3a39313943a5
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
f4023b570c0170bde67484b6c58952dc6ca93136 08-Apr-2017 Kevin Chyn <kchyn@google.com> FingerprintSettings for non-owner should respond to fingerprint touches

Fixes 36869204
Test: create another account, enroll a fingerprint in the new account
touch the sensor and make sure the finger you just enrolled gets highlighted

Change-Id: Ib3e8d9ddc987a2c8b7f0878a83f4cbd025e13f7a
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
959ac8e04d3c25da11ed6fca1babf56a69a032ba 27-Mar-2017 Charles He <qiurui@google.com> FingerprintService: check current user correctly

FingerprintService maintains a mCurrentUserId field which keeps track of
the active group/user id in the underlying daemon. This field, however,
can become invalid after the daemon crashes and before
FingerprintService reconnects to a new daemon. (mCurrentUserId is only
set upon updateActiveGroup().)

Previously, mCurrentUserId is wrongly used in the logic of
isCurrentUserOrProfile(), resulting in false negatives when
mCurrentUserId is invalid. In this CL, we use
ActivityManager.getCurrentUser() instead, which has no dependency on the
state of the daemon.

This will also reduce the complexity around mCurrentUserId, and
hopefully will make future clean-ups easier.

Test: manually kill daemon and verify fingerprint functions normally
Bug: 36152864
Change-Id: I4250fad0e7c88bde95a1da1c89e71b4931ee3b8a
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
fe9a53bc45fd0124a876dc0a49680aaf86641d3e 31-Mar-2017 Jeff Sharkey <jsharkey@android.com> Consistent dump() permission checking.

This change introduces new methods on DumpUtils that can check if the
caller has DUMP and/or PACKAGE_USAGE_STATS access. It then moves all
existing dump() methods to use these checks so that we emit
consistent error messages.

Test: cts-tradefed run commandAndExit cts-dev -m CtsSecurityTestCases -t android.security.cts.ServicePermissionsTest
Bug: 32806790
Change-Id: Iaff6b9506818ee082b1e169c89ebe1001b3bfeca
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
32a12e9ae05350dba6e10bd298c6d2496aba6611 29-Mar-2017 Kevin Chyn <kchyn@google.com> Revert "finished implementation of fingerprintservice enumerate"

This reverts commit f8ff36c47f9f8d60cf825e6b43eb75d1eae81df5.
Test: manual

Change-Id: Ib7a887ad2b185d83174d171832cd9c3bc87939c0
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
ecf23a03a5a7b5bb0697069d8b36c1cfc1a8944b 23-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "finished implementation of fingerprintservice enumerate"
f8ff36c47f9f8d60cf825e6b43eb75d1eae81df5 22-Mar-2017 Kevin Chyn <kchyn@google.com> finished implementation of fingerprintservice enumerate

fixes bug 35358801
Test: manual

Change-Id: I890148dd82484890d135532ac8f3344e6ea7fcd7
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
8eddd33a01ad8eeb99c380c14be181d7e4930c29 23-Mar-2017 Jim Miller <jaggies@google.com> Add more robust handling of daemon crashes

It seems the new fingerprint daemon doesn't recover as quickly as before
and there's a finite chance reconnecting immediately will fail.

This changes the framework to be more robust about recovering by:

1. explicitly connecting to the daemon in isHardwareDetected()
2. ensuring we remove the current client when daemon death is detected
3. reset the daemon whenever we get HW_UNAVAILABLE so we try again

Test: manually kill daemon and verify FingerprintService reconnects

Partial fix for bug 36181191

Change-Id: Id530ed62be58b33af5b5b60083f3a69e4e8cd8bf
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
25d5eaa14ccdfa767588f9b15d05ec37d860fbc7 16-Mar-2017 Yifan Hong <elsk@google.com> IBiometricsFingerprint uses "default" service name

The getService() and registerAsService() methods of interface objects
now have default parameters of "default" for the service name. HALs
will not have to use any service name unless they want to register
more than one service.

Test: fingerprint works

Bug: 33844934
Change-Id: Ie5c03ff0e2fc38a1e41e2c292fc76b7592c33eb7
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
80e40ccf49bca22a6eb1846a582574092f3e0c1a 14-Mar-2017 Kevin Chyn <kchyn@google.com> fixed typos in log
fixed bug 34845702
Test: manual

Change-Id: I6bb87d4a99b7af3c186c647cc1450c1d11e85f52
Signed-off-by: Kevin Chyn <kchyn@google.com>
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
9310f5c9b88938c6d3b6081dcc8e1676aa5e5cf5 22-Feb-2017 Kevin Chyn <kchyn@google.com> dumpProto fixed crypto performance dump
fixed bug 35627933
Test: ran adb shell dumpsys fingerprint --proto > ~/Desktop/test.out
protoc --decode_raw < ~/Desktop/test.out
confirm that crypto output is fixed

Change-Id: Ie3bc996142e1e7e2be366ce6bb394ec2fe774393
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
da88f0e6b8bde99b1d65c73f20c9704b06cf5f5a 02-Feb-2017 Charles He <qiurui@google.com> Fingerprint: get auth id for non-current user.

Previously, getAuthenticatorId() simply returns the authenticator id
corresponding to the currently active user in FingerprintService.
However, this can cause bugs when, for example, KeyStore calls the
method before storing a fingerprint-bound key for a non-current user. In
such cases, the authenticator id of the calling user is desired, which
is not necessarily the same as the "current user" in FingerprintService.
This CL ensures the FingerprintService always returns the authenticator
id of the calling user.

Bug: 33459191
Test: manual
Change-Id: I35c5a3a7082cffb8941eeaa219c8e20948ad41a9
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
27fcd9c97a2ceb50bab026237390207e5ee9e290 21-Jan-2017 Phil Weaver <pweaver@google.com> Accessibility can capture fingerprint gestures

Bug: 27148522
Test: Unit tests for two new classes in this CL, CTS in
linked CL.
Change-Id: Icb5113e00b1f8724814263b3cc7f72fe4a6f0b41
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
a8eaeeb7549f9783fee850a5921b56a949eb6498 24-Jan-2017 Jim Miller <jaggies@google.com> Remove binder call from fingerprint HIDL interface.

The code used to call Keystore.addAuthToken() directly from the HAL layer.
This change propagates the byte stream to the framework which then forwards
it to KeyStore.

Test: recovers from killing keystore, fingerprint unlocks device,
FingerprintDialog works with crypto objects.

Fixes bug 34264028

Change-Id: I378c183618e29681526958b5468e530bb603f688
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
07e29ad1ea8d564d0eb5e9790c04cc41f218aacc 25-Jan-2017 Charles He <qiurui@google.com> Merge "Fingerprint: check current user or profile properly"
a36525ed1030a79d03df1aebc62ae7b2e024af74 18-Jan-2017 Charles He <qiurui@google.com> Fingerprint: check current user or profile properly

Fixes a bug that causes isCurrentUserOrProfile to always return true.

Test: none
Bug: 34430969
Change-Id: I2804ac95da0c68a552a436397256e123bc8307e7
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
40e4645e6e564b962bb73c85c5325ec54ad34cc1 17-Dec-2016 Jim Miller <jaggies@google.com> Rewrite FingerprintService to use HIDL 2.1

Bug: 33199080
Test: Fingerprint enroll, remove, unlock, fingerprint arbitration.

Change-Id: I8b98236ba81f053527ee74c8a189af1adfd17d55
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
48ee82ad5b315c6df3d12d1dd647e83cc4fdb224 11-Jan-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Revert "Update active fingerprint group when switching profiles""
381f2acdf411301307c1488258651fa598e52a69 11-Jan-2017 Rubin Xu <rubinxu@google.com> Revert "Update active fingerprint group when switching profiles"

This reverts commit d37c824c14f32d1863ed9f86045e7c1ec2002e8c.

Change-Id: Id9c7a9c1fef276aa45f4ffc7559f61d1dbdaf7ba
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
b03bfe0ad6585e634b4a84b57e8f2aeb3c6030bd 11-Jan-2017 Rubin Xu <rubinxu@google.com> Merge "Update active fingerprint group when switching profiles"
e29a5a11529dc7df82911b48b9f95461383cbcc2 17-Dec-2016 Fyodor Kupolov <fkupolov@google.com> Added SystemServerInitThreadPool

System services can use it during the boot to submit tasks that can be run in
parallel with the main thread.

Switched PersistentDataBlockService and FingerprintService from FgThread to
the new thread pool.

UiModeManagerService: update initial configurations on init thread. They run
while holding the mLock so no extra synchronization barriers are needed at a
later stage.

Test: manual - device boots without errors
Test: ParallelPackageParserTest passes
Change-Id: I548f34b0a18f61924e09a39afb12e085cde35442
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
d37c824c14f32d1863ed9f86045e7c1ec2002e8c 20-Dec-2016 Rubin Xu <rubinxu@google.com> Update active fingerprint group when switching profiles

Active group needs to be updated as soon as the user switches
to a work profile app. This is to ensure that the authenticator Id
returned by FingerprintService is always up-to-date, which is
accessed by KeyStore to provision authentication-bound keys.

Bug: 33459191
Test: manual
Change-Id: I3641cd61400771df23f1174e1057ba388d6f8efb
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
1754d744a7a34731ffc07af1bc3dbfcb06864ab0 22-Nov-2016 Joe Onorato <joeo@google.com> First checkin of incident reporting.

There are a few major pieces here:

incidentd
---------
This daemon (started by init) runs and accepts incoming requests to take
incident reports. When prompted, it calls into various system services
and fills in an IncidentProto data structure, and then writes the report
into dropbox.

The next steps for incidentd:
- Security review of SELinux policies. These will be a subset of
the dumpstate permissions. Until this is done, incidentd is
not started at boot time.

incident
--------
This shell command calls into incidentd, and can initiate an incident
report and either capture the output or leave for dropbox.

incident_report
---------------
This host side tool can call adb shell with the correct parameters
and also format the incident report as text. This formatting code
was left of the device on purpose. Right now it's pretty small, but
as the number of fields increases, the metadata and code to do the
formatting will start to grow.

The incident_report command also contains a workaround to let it
work before incidentd is turned on by default. Right now, it is
implemented to call adb shell dumpsys <service> --proto directly,
whereas in the future it will go through the full incidentd flow.

incident_section_gen
--------------------
A build-time tool that generates a stripped down set of information
about the fields that are available.

libincident
-----------
This library contains the code to connect to incidentd, and the
meta proto definitions that are used by the framework protos.
The basics are here now, but they are not fully fleshed out yet.
The privacy.proto file contains annotations that can go in the
proto file that we will later use to filter which fields are
uploaded, and which are used by local sources. For example, a
device in a test lab is safe to upload much much more information
than a real user. These will share the same mechanism, but the
user's output will be filtered according to these annotations.

frameworks/core/proto
---------------------
These .proto files contain the definitions of the system's
output. There is one master android.os.IncidentProto file that
is the top level of an incident report, but some other services
(notification, fingerprint, batterystats, etc) will have others
that are used directly by the logging mechanism.

Other files which are shared by several of the services also go
here, such as ComponentName, Locale, Configuration, etc. There
will be many more.

There is also a first iplementation of a dump method handling
--proto in the fingerprint service.

IncidentManager
---------------
The java API to trigger an incident report.

Test: Not written yet
Change-Id: I59568b115ac7fcf73af70c946c95752bf33ae67f
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
57e2f4db3535fb059ac278499018951deddc4c82 24-Nov-2016 Jorim Jaggi <jjaggi@google.com> Make LockoutResetCallback oneway

Test: Get locked out, make sure wake-and-unlock is working
again after 30 seconds.

Change-Id: I2fb03775898c0567f058d6d9d0b963ed071cc786
Fixes: 32946531
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
dc589ac82b5fe2063f4cfd94c8ae26d43d5420a0 11-Nov-2016 Sudheer Shanka <sudheersai@google.com> Update usage of ActivityManagerNative.

- Remove references to ActivityManagerProxy.
- Add isSystemReady to ActivityManager.

Bug: 30977067
Test: cts/hostsidetests/services/activityandwindowmanager/util/run-test android.server.cts
adb shell am instrument -e class com.android.server.am.ActivityManagerTest,com.android.server.am.TaskStackChangedListenerTest \
-w com.android.frameworks.servicestests/android.support.test.runner.AndroidJUnitRunner
Change-Id: I07390b6124fb1515821f5c0b37baf6ae74adc8fa
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
449e708abe4e1e85845d319dc701579a6b553c2c 31-Oct-2016 Fyodor Kupolov <fkupolov@google.com> Initialize daemon on a separate thread

getFingerprintDaemon is called during initialization of system server and it
currently delays startup for ~1 second.

The method is now thread-safe. The first call is made from FgThread.

Bug: 30231099
Test: manual
Change-Id: I0761291da7b02bcc2063d428ebd7a75d56abef63
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
9240f682f17c84f45ca9fff71e9a4aa609d5e73a 07-Oct-2016 Jim Miller <jaggies@google.com> Add metrics logging for critical fingerprintd errors am: c57c8d934c am: 71558c252b
am: 8b9e1d0026

Change-Id: Ic322a7a62987efd8c3091c5819ec2ffcb02b94fe
c57c8d934cf77673154bc81d767365b4d6cda33f 01-Oct-2016 Jim Miller <jaggies@google.com> Add metrics logging for critical fingerprintd errors

This adds logging when fingerprintd dies or invoked functions
fail so we can track driver breakage:

- failure to start fingerprintd (fingerprintd_openhal_error)
- fingerprintd dies (fingerprintd_died)
- call to authenticate/enroll/enumerate/remove fails

Fixes bug 30896409

Change-Id: Ic53fcd551ba909ef141893796b33b52cd5e56395
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
c1af8ac6bda65dd2562b8d0f4369b554cddca29c 30-Sep-2016 takuya,souma <takuya.x.souma@sonymobile.com> Merge "Reset mCurrentUserId when fingerprintd died" am: b60951f670 am: 674922574a am: ab726b4579
am: 873747ec9e

Change-Id: I5901039247203152a9e0911bd8d1ef8a68bc4ea9
873747ec9ec50cd516e0a2ca0a9e8f9a8ef3b3a7 30-Sep-2016 takuya,souma <takuya.x.souma@sonymobile.com> Merge "Reset mCurrentUserId when fingerprintd died" am: b60951f670 am: 674922574a
am: ab726b4579

Change-Id: Ib3230340918d5d22a44149cacb006b0ad59dcc56
ab726b45797a3a9ffee2cfed5220f894f88d2c81 29-Sep-2016 takuya,souma <takuya.x.souma@sonymobile.com> Merge "Reset mCurrentUserId when fingerprintd died" am: b60951f670
am: 674922574a

Change-Id: I7355b6da155aab3996fdd773eafc489362744846
be11bc5f0a95e00a63018aa758d86eb253bab3b2 29-Sep-2016 Jim Miller <jaggies@google.com> Reset mCurrentUserId when fingerprintd died

A template fingerprint data is not loaded in fingerprintd when
fingerprintd is died and restarted.
FigerprintService tries to set userId after a restart of fingerprintd,
but it's skipped because the service tries to set same userId already
set to mCurrentUserId.

To load correct template fingerprint data, reset mCurrentUserId
when fingerprintd died.

Bug: 31734514
Change-Id: I6b8d4b5b685765fe33ef8e654593b615240748a8
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
895da77aa6baa9231faa2a1159b673b6c67db3b9 13-Sep-2016 takuya,souma <takuya.x.souma@sonymobile.com> Reset mCurrentUserId when fingerprintd died

A template fingerprint data is not loaded in fingerprintd when
fingerprintd is died and restarted.
FigerprintService tries to set userId after a restart of fingerprintd,
but it's skipped because the service tries to set same userId already
set to mCurrentUserId.

To load correct template fingerprint data, reset mCurrentUserId
when fingerprintd died.

Bug: 31734514
Change-Id: I0d3452fc6c1f82bb2a2af10f61d3f3a47df9dec6
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
2c4522cc1bf3a3d0178688427a33b860ddfe4bba 28-Aug-2016 Sudheer Shanka <sudheersai@google.com> Add usermanager related perf tests - part2

- Add onLockedBootComplete callback to UserSwitchObserver.

Bug: 30948225
Test: adb shell am instrument -e class android.multiuser.UserLifecycleTest -w com.android.perftests.multiuser/android.support.test.runner.AndroidJUnitRunner
Change-Id: I87533094805a81fbd85d4f492e637b3304ecd5e2
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
3871272fc6a4ac722057d431043eedf60bbe42cd 10-Aug-2016 Jim Miller <jaggies@google.com> Bind fingerprint when we start authentication
am: 837fa7e56d

Change-Id: Id2e84b60102653598e6d459e83835739b57ef404
e11059694a8e380e6275968d5cb44994e4c5ecd7 10-Aug-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Bind fingerprint when we start authentication" into nyc-mr1-dev
837fa7e56dc4e91feaf104bd09ef5e03065b1b86 09-Aug-2016 Jim Miller <jaggies@google.com> Bind fingerprint when we start authentication

This fixes a bug where it was possible to authenticate the wrong user.
We now bind the userId when we start authentication and confirm it when
authentication completes.

Fixes bug 30744668

Change-Id: I346d92c301414ed81e11fa9c171584c7ae4341c2
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
37979c9db0a88039bb098645f4180dc04e987b96 06-Aug-2016 Jim Miller <jaggies@google.com> Fix bug where foreground activity fails to cancel auth/enrollment

This fixes a bug where the currently authenticating application
can't cancel itself in onPause(). The problem is that some applications
can set FLAG_RESUME_WHILE_PAUSING (like the home screen), which changes
the life cycle of IMPORTANCE_FOREGROUND to be removed before onPause()
completes. The result is the currently authenticating activity
can't cancel fingerprint authentication or enrollment.

The fix is to allow apps to always cancel themselves.

Fixes bug 30380234

Change-Id: If65c2028014da8d5129506d0b45cc6c1e25f7860
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
bcc100aae93bdae85c3f3679dfdda0508450f94e 06-Jul-2016 Jim Miller <jaggies@google.com> Capture fingerprint statistics for estimating FRR

Fixes bug 29258254

Change-Id: I10620c9bf07e4cdd7df456548b6516b5e1f1f5ee
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
ef26bf0f0a590a0a576494a71de4bec767c6c173 29-Jun-2016 Jim Miller <jaggies@google.com> Merge \"Relax security constraint around getAuthenticatorId().\" into nyc-dev
am: 60c04126c9

Change-Id: I28a3559159340d663693976cc58dc34f3c730f6c
d0063106b67c9aa44d9473102a1116aad136f50f 29-Jun-2016 Jim Miller <jaggies@google.com> Relax security constraint around getAuthenticatorId().

Fixes bug 28603656

Change-Id: I54216d4b9a3ab23f9d5bfe0f40f2dd27e723c21e
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
0b77ef9f5199b7cd0956f2bfe049cbd699ca03b4 21-Jun-2016 Fyodor Kupolov <fkupolov@google.com> Print names of observers causing timeout

Pass and store name in registerUserSwitchObserver and later print names of
observers causing timeout.

Bug: 29039588
Change-Id: I09c4bcc986168a07f5e20ad0f38667b783332288
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
e36da9c8c9f8f50a47dd985f795dbb2b24cbef54 09-Jun-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Revert "Temporarily increase timeout for devices with buggy driver"" into nyc-dev
3d5e396583a845e63e102ff449d856c01125f550 08-Jun-2016 Jim Miller <jaggies@google.com> Revert "Temporarily increase timeout for devices with buggy driver"

Bug 28201240 has been fixed, reverting workaround

This reverts commit 93d828de59986a990bfd2fffcfc399deae5ba6ba.

Change-Id: Iaa10c63b48dd434badc3f6d2c23859391996abac
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
967a9a12a73b7c4b00badfecf4721dfa75e0abcf 10-May-2016 Jim Miller <jaggies@google.com> Always update cached copy of authenticatorId.

This fixes a bug where the cached copy of authenticatorId
was incorrect immediately after enrolling a new fingerprint.
During enroll, the authenticatorId is changed and needs to be updated.
The fix is to always get the new authenticatorId when we
call setActiveGroup(), which happens during every new

Fixes bug 28606914

Change-Id: I8b2d3afe67b3677b6e4516a550d874d9c2e426cd
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
c12eca8b5964dfc37836e1c0f2dad8c88c76d90f 29-Apr-2016 Jim Miller <jaggies@google.com> Clean up fingerprint enrollment API

The enrollment API was using userId and groupId interchangeably.
This cleanes up the interface to consistently use userId.

Partial fix for bug 28268635

Change-Id: I678e4b17a25f82c5cf17db49cd23f862be11667b
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
8f2aca0ee4ff0eff6226df05d1531d2f2fa2f3c1 20-Apr-2016 Jim Miller <jaggies@google.com> Fix bug where fingerprint for wrong userId was attempted to be removed.

- cleaned up private API to ensure userId is distinct from groupId.
- fixed bug where we were sending the wrong userId when attempting to
- fix warning about wrong fingerId when receiving final id of 0.

Fixes bug 28268635

Change-Id: I9507723c1a763152775f2feff76c16762f23cf2d
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
ff715ac551fcb09640acdf28278384ca2d5f85c0 19-Apr-2016 Tony Mak <tonymak@google.com> Fix the misuse of calling user id as group id

1. The userId stored in different clients are actually calling user id.
groupId should be used to do all the operations. Also, renamed the variable
to avoid further confusion.

2. Fix the bug null is always returned in getFingerprintDaemon
in RemovalClient.

3. Fix the misuse of calling uid as calling user id in startAuthentication.

Fix: 28268635
Fix: 28264725

Change-Id: I618ac3c6d913ae5c86e7b04cb3f9ead39828f216
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
c1e61b83c2fc3fa7a7111ec72081a8fa647bc354 18-Apr-2016 Jim Miller <jaggies@google.com> Fix operator precedence bug causing a crash.

This fixes a bug where string expression was being evaluated
and then compared to null. The result is a constant expression
which always passes, resulting in inadvertently accessing the
null variable.

Fixes bug 28237450

Change-Id: I755b4466fd1985bd7f8984c17e06839ac4a30642
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
93d828de59986a990bfd2fffcfc399deae5ba6ba 15-Apr-2016 Jim Miller <jaggies@google.com> Temporarily increase timeout for devices with buggy driver

Some devices don't properly respond to cancel() which must
return a cancel notification. This workaround shortens the
timeout for those devices so they're functional until
this is fixed.

Workaround for bug 28201240

Change-Id: I9a5b41e400c217444b8df97ebee2b60f5b879d76
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
cb2ce6f1f0deef80943ece093ae40bacc1f57c44 14-Apr-2016 Jim Miller <jaggies@google.com> Fix bug where fingerprint events can be delivered to the wrong client

- Make FingerprintService more closely track the expected state of fingerprintd.
- Don't switch to a new operation until fingerprintd completes previous operation.
- Refactor clients into separate classes and add tracking logic.
- Add missing enumerate()/cancelEnumeration() methods to IFingerprintDaemon
- Make late-binding decision of "foregroundness" of activity so that it's
decided in the order the events are actually handled.
- Add more logging so we can determine FingerprintService state when errors occur.
- Cache a copy of authenticator_id from the last time it was set so we don't
interrupt the driver during actual authentication.
- Don't allow clients to access authenticator_id unless they're current.

Fixes: 27902478, 26273819
Change-Id: Ic1f9e30bd89bcdbb8fe7f69e0545e68339317721
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
7f98aa4aa93497692f200c553d2d6fff402e3de2 07-Apr-2016 Fyodor Kupolov <fkupolov@google.com> Added getProfileIds method returning array of userIds

Previously many usages of UserManager.getProfiles and getEnabledProfiles
were only using ids of returned users. Given that the list of users needs
to be parceled and unparceled for Binder calls, returning array of ids
minimizes memory usage and serialization time.

A new method getProfileIds was introduced which returns an array of userIds.
Existing method calls were updated where appropriate.

Bug: 27705805
Change-Id: Ic5d5decd77567ba0f749e48837a2c6fa10e812c0
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
53940d4c7f45a26d8b571982a1f8f4b8094aa5e0 05-Apr-2016 Ricky Wai <rickywai@google.com> Fingerprint should confirm device lock when unified

When unified and adding a fingerprint, the user is prompted to set up
a backup

Bug:27419438
Change-Id: I3e857fa07c50ee0904f685b721595ef6cfe729f9
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
07dbd63153b523f960eb7052a852661303aa7eac 06-Apr-2016 Jim Miller <jaggies@google.com> Track userId independently from callback for fingerprint.remove().

If we get an extremely delayed response from the fingerprint
hardware or the system crashes, it was possible to get into
a state where we have no remove ClientMonitor and FingerprintService
would crash.

The fix is to track the userId for removal independently
from the callback.

Fixes bug 28028434

Change-Id: I2b3e3eb332ea5512b86d3f7be853b720e41318a4
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
35fd93810541430615b2f1118abc756b717d379c 01-Mar-2016 Clara Bayarri <clarabayarri@google.com> Fix Fingerprint confusing personal and work fingerprints when unified

When the personal and work profile have unified locks, FingerprintService
was retrieving the credential owner and returning the personal data
even when explicitely asked for the work profile.
Bug: 27408217

Change-Id: I67d20f92e0016e4ccd38f8b19edebc543830df4a
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
1fd298bdcb192b6a513216773d4de58a505da665 26-Feb-2016 Jim Miller <jaggies@google.com> Fix permission check in hasEnrolledFingerprints()

Fixes bug 27350799

Change-Id: Icd00985b5ad9a8159733e9180c79f646b275b60d
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
33fd3cf2d90ca877b139e7f47824683b774f122a 19-Feb-2016 Clara Bayarri <clarabayarri@google.com> Make FingerprintManager#hasEnrolledFingerprints per-user

Needed by Settings to determine if the work profile has fingerprints

Bug: 27263452
Change-Id: Ic54f59461b44a525284f6a1ab3d17627c652f842
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
e4c1ccec7248443c23dd4a8d6725a4f492204726 15-Feb-2016 Ian Pedowitz <ijpedowitz@google.com> Revert "Fix missing observer reply callbacks"

This should not have merged from mnc-dr-dev, the underlying implementation has changed

This reverts commit dbb75248b19366d76cfdd7d4536d68467e7322c1.
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
b9f686968cbbf953700f68be0076a461a71e5b67 14-Feb-2016 Akshay Thakker <aksh@google.com> Merge "Fix missing observer reply callbacks" into mnc-dr-dev am: d1811e07d5 am: a3798d7a92
am: d6de840957

* commit 'd6de84095735a32e160f5ae9ce93489b0b19eeed':
Fix missing observer reply callbacks
dbb75248b19366d76cfdd7d4536d68467e7322c1 20-Nov-2015 Amith Yamasani <yamasani@google.com> Fix missing observer reply callbacks

This was causing upto 2 seconds in user switching delay.

Bug: 25813588
Change-Id: Icf23b021f134a8ccfa2dae470af02b2da7454acc
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
f6e9228b8a97603d3ceb8f0d61e8d87cf19bd21f 27-Jan-2016 Chris Wren <cwren@android.com> move framework metrics over to new proto

Change-Id: Ie46e946dc787350c15c10aa4385a6b7df7e181a8
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
d1f722d906f66ef05cd329feb9edbed178314d46 07-Jan-2016 Clara Bayarri <clarabayarri@google.com> Enable enrolling/authenticating a specific work profile.

This change adds support for a separate profile-specific
fingerprint database. This is to be used together with the work
challenge.

Change-Id: I65b3a74a1c887def210d7a6da0b907138f58a5ba
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
e6748ce31f18782b7a47a5b2eb251efd83e7b609 12-Dec-2015 Andreas Gampe <agampe@google.com> Frameworks/base: Use Arrays.toString

Fix a couple of cases where Arrays.toString should be used.

Bug: 19797138
Change-Id: I905fc79e63face9b26975320a92086c732bf6316
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
6005b3f87b063ee7ab7e8877a6a8c90b480f3341 24-Nov-2015 Fyodor Kupolov <fkupolov@google.com> Added SynchronousUserSwitchObserver

This class provides a synchronous version of onUserSwitching, which does not
require notifying a callback.

Bug: 25816558
Change-Id: Id31bb79bf10b5afd72dfca28cf4bea817e726f6f
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
ca0ac5c6b245aca55c7b78c0d1e4929ed9ee3ff5 20-Nov-2015 Amith Yamasani <yamasani@google.com> Fix missing observer reply callbacks

This was causing upto 2 seconds in user switching delay.

Also switched to using Log.wtf for the timeout message to
track any regressions in this due to new clients.

Bug: 25813588
Change-Id: Icf23b021f134a8ccfa2dae470af02b2da7454acc
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
1adb4a7693406e7f984d7b1512e0e6aa40aa40e2 15-Sep-2015 Jim Miller <jaggies@google.com> Add logging to track fingerprint reco but not unlocking

Bug 23940153

Change-Id: Idb01802ba68449370e8f3cbede0e2fe6d0b977ce
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
5e354223d817477efac9a6a2e3ce3d9161e046a4 04-Sep-2015 Jorim Jaggi <jjaggi@google.com> Use AlarmManager for lockout reset

So the lockout reset exactly fires after 30 seconds, independent
of whether the device was in deep sleep.

Bug: 23668918
Change-Id: Idea1a877c395897c1fd075cf98edf41c8b1f4082
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
73633ddbcf285f328f9c0183dadafde24e2da2f4 03-Sep-2015 Jim Miller <jaggies@google.com> Fingerprint should throttle after 5 attempts

Fixes bug 23762058

Change-Id: I62665dd3097b8e71075a5eddbf34a551db1507d5
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
975f145c018de9affffee5e89d94ce0ed78ad9df 01-Sep-2015 Jim Miller <jaggies@google.com> Only allow foreground app and keyguard to access FingerprintManager

Fixes bug 21309357
Fixes bug 23566317

Change-Id: Ie776c36e2cc5c15a8789d76b604a9c7507efb605
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
3a464785088e7fd206666f640912729533948ce8 29-Aug-2015 Jorim Jaggi <jjaggi@google.com> Add a private API to get notified about lockout resets

SystemUI uses it to start authentication again after lockout reset
expired.

Bug: 22846755
Change-Id: I90a987c6aa4ac52cc7e7aff1bce262d1db3f12ee
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
8b3c25a34a0bfe5fa3ed697ee6a552ea1373f077 29-Aug-2015 Jim Miller <jaggies@google.com> Run callbacks from fingerprintd through handler.

This fixes a potential race condition on the client monitors
where an async event from fingerprintd could change the state
and disrupt communication with the clients.

Fixes bug 23633702

Change-Id: I69635ab768f1e8abefd0b0d8b8e73bb81e7b5695
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
01c5bf5470a8c1c75f74792d8be1dada3a6f7b8a 26-Aug-2015 Jim Miller <jaggies@google.com> Merge "Handle driver errors from remove, enroll and auth." into mnc-dr-dev
9521231031543c1687c736d17d5bad989a6bc2de 24-Aug-2015 Chris Wren <cwren@android.com> instrument fingerprint crypto token service

Histogram counts number of calls with and without a token.

Bug: 22951001
Change-Id: Idaabee389bfa33eb009d48bb9a0edae146bcc217
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
827afdab0eb620ed139c4ab519ac837cb718296b 22-Aug-2015 Jim Miller <jaggies@google.com> Handle driver errors from remove, enroll and auth.

FingerprintService expects callbacks from the HAL to happen over
the provided notify() method. However, there are some circumstances
when errors can't be propagated (i.e. the driver cannot be loaded).

In this case, the call to the method (remove(), enroll(), authenticate())
fails and we get a return status != 0. When this happens, FingerprintService
now sends an error response to the client. In general, this will mean
the driver is unavailable, so we send FINGERPRINT_ERROR_HW_UNAVAILABLE.

Fixes bug 23183484

Change-Id: Ifb40ba6fb1d960810043749fd8478ba37c968405
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
e0507bbbf95ae6d958c900f32122baf078d47d71 13-Aug-2015 Jim Miller <jaggies@google.com> Reset fingerprint lockout timer when strong auth is used.

Fixes bug 22565462

Change-Id: I4842877839845e7fe103396d8ca8104928568c04
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
c510ad56a8e01626a711e60ba97b01fd2121a72f 14-Aug-2015 Chris Wren <cwren@android.com> instrument fingerprint service

auth and enroll actions
dumpsys for enrollment statistics

Bug: 22951001
Change-Id: Id472789756df110fb8b02f542440c8112e0d2a44
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
055eafd6ce42fd7858767c6c79d46d67900703e1 13-Aug-2015 Jorim Jaggi <jjaggi@google.com> Do not vibrate if we don't have a fingerprint client

Bug: 22851337
Change-Id: Ia7be6eda2db08b4df07a48ffa4d24637f59167e9
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
494d6e9b030e757cef996bcbfd68a80a7d1526e7 07-Aug-2015 Andres Morales <anmorales@google.com> [fingerprint] use credential owner in FingerprintService

Bug: 23027554
Change-Id: I185492b5008058fdb23a4536a8a73177ee4903d8
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
091f0e5c6c7f9e72a6e661c4849a2e232823075b 22-Jul-2015 Jim Miller <jaggies@google.com> Make FingerprintService more tolerant of fingerprintd crashes.

- attempt to restart fingerprintd on the next request
- inform clients that the hardware isn't available and cancel
listeners.

Fixes bug 22492148

Change-Id: Ib27eaf7f197c6a4e6ed9b085602882904d6b794d
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
740452e8756cb7f51ed185c3906a5ca61b8fcdd4 09-Jul-2015 Jorim Jaggi <jjaggi@google.com> Touch, wake and unlock

- Add onFingerprintAcquired, so Keyguard can grab a wakelock to prevent
the device from sleeping.
- If we get a successful fingerprint, wake the device up, immediately
dismiss the keyguard and tell PWM that we kicked off our frame that
will represent the correct state.
- PWM then waits for this frame to be drawn, and then turns on the
screen, which results in unlocking directly to the previsouly
opened app.

Bug: 21855614
Change-Id: I5f43df17fa5e4e9c6a6392eef4a4590b07df4f96
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
80a776e5fecef1160aa9d2b9fdaf7bf9d9c95973 16-Jul-2015 Jim Miller <jaggies@google.com> Remove redundant cancel events from FingerprintService

This fixes a bug where the framework was sending repeat cancel
events in response to terminal status (onAuthenticated(), onError())
which causes the underlying HAL implementation to get into a weird state.

Now, only client-initiated events like an explicit cancellation
or starting another authentication/enrollment invokes fingerprintd's
cancel() method.

Fixes bug 22438498

Change-Id: I762bab1c8635924848f9f4334db47a07130d5ae3
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
280a64e793d081847c5dcea23ed9be38aa5332d2 13-Jul-2015 Dianne Hackborn <hackbod@google.com> Improve tracking of screen on reasons.

- New screen on app op to record the last time each app has
caused the screen to be turned on.
- New battery stats event that tells us the reason the screen
has been asked to turn on.
- Propagate out power manager API to specify the reason a caller
is asking to have the screen turned on.

Note that currently the window flag to turn the screen on bypasses
much of this because it is being handled in the window manager by
just directly telling the power manager to turn the screen on. To
make this better we need a new API where it can specify who it is
calling the API for.

Change-Id: I667e56cb1f80508d054da004db667efbcc22e971
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
12328ef422027f2f5f033ed65c8a09535f9ca81d 09-Jul-2015 Sasha Levitskiy <sanek@google.com> Merge "Fingerprint: Add post enroll interface." into mnc-dev
e0943cf5665b3d7b0870debda771032f77db094c 08-Jul-2015 Sasha Levitskiy <sanek@google.com> Fingerprint: Add post enroll interface.

Bug: 22007124
Change-Id: I9b74edd8e34eaf9ab559b6dc20030a95fa3ce321
Signed-off-by: Sasha Levitskiy <sanek@google.com>
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
99b8820fd7357f6287e65468b23751279562807b 08-Jul-2015 Vineeta Srivastava <vsrivastava@google.com> Use fingerid 0 when checking failed attempts.

It is valid to have finger id as Hex value which is not necessarily less than 0.
Always compare with finger id 0 to make sure we are not locking out user.

Bug: 22354158
Change-Id: I19ded12ae4ee335621fd278163c652fc154be6cf
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
cb7d9e933234233410e1f761cb9804bb8b7a00d3 17-Jun-2015 Jim Miller <jaggies@google.com> Only allow fingerprint auth for the current user

This prevents fingerprint access from activities
for a user that isn't the current user.

Fixes bug 20223481

Change-Id: I360f90972fe63f5066f701a3efda355a7cb11338
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
dca15d22e8f37d4bc2dfb6db4522ea166149525b 17-Jun-2015 Jim Miller <jaggies@google.com> Have FingerprintService keep the device awake on relevant events.

Fixes bug 20732273

Change-Id: I61b827dd7b1bc706a0288571751032301fd5479f
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
599ef0e3cd848bbf8faa45147ac680d04d3ba333 16-Jun-2015 Jim Miller <jaggies@google.com> Limit number of fingerprint templates that can be enrolled per device user

This change places an upper limit on the number of fingerprint templates that
can be enrolled per account. This is done primarily for performance reasons, but
may also be imposed by hardware and Trusted Execution Environment (TEE) reasons.

Fixes bug 20731847

Change-Id: I5bc337698bef682cdf67940906d24842e1dffc28
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
a99b8b5e3fe456b74b9f86e12bebebb5e418f58e 11-Jun-2015 Alex Klyubin <klyubin@google.com> Do not require USE_FINGERPRINT for getAuthenticatorId.

This removes the requirement to hold the USE_FINGERPRINT permission
to successfully invoke FingerprintManager.getAuthenticatorId().

This is needed because Android Keystore classes which run inside app
processes occasionally need to access this authenticator ID. The
access however is not necessarily triggered by the developer using
APIs to do with fingerprints. Thus, if an app does not hold the
USE_FINGERPRINT permission and uses Android Keystore API, it may
unexpectedly encounter a SecurityException.

It's OK to provide access to authenticator ID without requiring
USE_FINGERPRINT permission because there are other ways to access
this ID without holding that permission, such as though hidden
KeyStore API.

Once Android Keystore code is restructured to no longer require
access to authenticator ID, this CL can be reverted.

Bug: 21030147
Change-Id: I9af29830abce34c46e29e5c1682cc3ab88c95c00
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
f501b58de8f467a80fef49c704555781bc61ea6f 04-Jun-2015 Jim Miller <jaggies@google.com> Update and cleanup FingerprintManager API to new spec

Fixes bug 21040383

Change-Id: Ib97d486535869814d5b449cccb31670e8f412552
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
16ef71f4f5a01158fdc07dbbd0963aa2fb04e359 22-May-2015 Jim Miller <jaggies@google.com> Fix crash in fingerprint and problem where directory has wrong selinux label

Fixes bug 21373942

Change-Id: I860656b0c9e26c038d03d9872c490466dc62d4e7
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
be67542182e41a6e31cf002db72ec42ee717bd1c 12-May-2015 Jim Miller <jaggies@google.com> Move from native FingerprintService implementation to fingerprintd

This adds a new service, fingerprintd, that manages fingerprint
hardware from a separate process. It provides a binder interface that
FingerprintManager uses to talk to the fingerprint HAL.

Change-Id: I84d8e407c1f1a7d1a396e246c382459ad38810ae
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
dbe780f293163c478933a1f2ce97189703656c10 18-May-2015 Jim Miller <jaggies@google.com> Attempt to fix bug with setActiveGroup() in FingerprintService.

This attempts to fix a crash where setActiveGroup is crashing because
there's no fingerprint hardware.

Attempt to fix bug 21224390

Change-Id: Iff1c6ebb68deb6662fcb4a58248b5a562d9da2c2
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
6a587acd1dcaa0b0d58ff9ac58e8a2ebff0aa3be 14-May-2015 Jorim Jaggi <jjaggi@google.com> Merge "Fix fingerprint for multiuser" into mnc-dev
aa4d32add72fa728f9cfe4eeb014b26eb5d091c2 14-May-2015 Jorim Jaggi <jjaggi@google.com> Fix fingerprint for multiuser

Change-Id: Iab18c4de9764da1a65490b186b33535f8e79e1e5
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
ee77cebc1a54a0bee1a1d538db0abed00aa9cb4e 13-May-2015 Jorim Jaggi <jjaggi@google.com> Persist fingerprint names

Bug: 20469328
Change-Id: I8f4a988687bfb78c36cc7cf187103a9d93ed4535
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
80db9baf9766dc40f9d1b6bf60797ee5cc64a48c 08-May-2015 Sasha Levitskiy <sanek@google.com> Fingerprint: Add Set Active Group

Change-Id: Ie9d63c5f948c9610bd6b19a76bffab5ae0070620
Signed-off-by: Sasha Levitskiy <sanek@google.com>
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
4af76a51d5082c740609563e07cf35f30bc2224e 30-Apr-2015 Svetoslav <svetoslavganov@google.com> Add use fingerprint app op - framework

Change-Id: Ibbd1c70e1fc771b804a8b0099d29d4fbd8360966
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
b423e300f77de90aea34321ef7f67882d4e526ed 25-Apr-2015 Jim Miller <jaggies@google.com> Merge "Don't use a WeakReference for fingerprint notification object."
b21e1b2eaa5697c9abaebd13c6c774991fef438c 25-Apr-2015 Jim Miller <jaggies@google.com> Don't use a WeakReference for fingerprint notification object.

This was causing a problem where a GC in the system process
would inadvertently remove the callback.

Potential fix for bug 20491119

Change-Id: I9d7d0bb8e29fcd6c52cb3be645bbb9c8e5413d48
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
4d41a203a08c55b3f3190519535ccee6557ea4fe 16-Apr-2015 Andres Morales <anmorales@google.com> Expose getAuthenticatorId API

Change-Id: I112c45d596c66e3f6ebd94fecffcb6bb7c3a335a
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
af281ca0d3fad6aaafde0d1979123368390779dc 21-Apr-2015 Jim Miller <jaggies@google.com> Make fingerprint enroll/authenticate haptic feedback part of framework.

Change-Id: Icc2e9ec4b30a6f3a21e3bbe8476efc56361d6944
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
1304137918e41d1ad98555d9d7daf77583407d3f 16-Apr-2015 Jim Miller <jaggies@google.com> Clean up message dispatch in FingerprintService

This fixes several issues that were causing missing events in
enrollment and authentication.

Bug 20271180

Change-Id: Ic1c8ab35145de4d29d60238ef8ee71443a882348
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
2aad7ee245857a46aae305fefc4e3c1bcdd4a586 15-Apr-2015 Jorim Jaggi <jjaggi@google.com> More fingerprint API's for 3rd party apps

- Make isHardwareAvailable public
- Add hasEnrolledFingerprints so apps can check whether to show
fingerprint UI or not.

Change-Id: Iaefd5e9e68bf3bee8305574dc1477ea9bc72b30a
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
fe6439f02db3a541d77a7afb27e3bca1ae7493ed 12-Apr-2015 Jim Miller <jaggies@google.com> Several fixes to Fingerprint code after large merge
- route fingerprint enrollment auth token
- replace "processed" event with "authenticated"
- fix type-o in strings.xml

Change-Id: If06b4438c94fd7fca07a8b7b1b5fa16dd94b3831
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
ce7eb6daf06a88129da365eb2112537ce0bb1b75 04-Apr-2015 Jim Miller <jaggies@google.com> Clean up FingerprintManager API and make it public.

Change-Id: I6a99dccd485c053cb47dbd0ec08b41a2dc5b17c8
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
ebbf205bc6e8292f74d8fc4652c70274a445f907 01-Apr-2015 Jim Miller <jaggies@google.com> Prepare to make Fingerprint API public.

- move fingerprint support files into hardware area
- move jni into services/core

Change-Id: I48a8e43d6d328fb66d79919c255e4c44e984b4d1
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
9f0753f5a378fc80da86305b33244acc6fc53f01 24-Mar-2015 Jim Miller <jaggies@google.com> Refactor fingerprint API

- enroll() and authenticate() now take an explicit callback object.
- better handling of strings
- use framework resources for commonn error strings
- add vendor-specific arrays to resources

Bug 16487912

Change-Id: Idf34242fdd06bba1903cdb22bf20169d15d92b82
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
99d6019bead4705b7e126e65b856d538417d4934 12-Mar-2015 Jim Miller <jaggies@google.com> Add rename support to FingerprintManager

Bug 19592835

Change-Id: I656b3932caf2cfdb9a330522d171a59af2c7a2d1
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
08c7116ab9cd04ad6dd3c04aa1017237e7f409ac 28-Feb-2015 John Spurlock <jspurlock@google.com> Remove unused imports in frameworks/base.

Change-Id: I031443de83f93eb57a98863001826671b18f3b17
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
ba67aee02cf864793129976cd8a8a46e60c60577 21-Feb-2015 Jim Miller <jaggies@google.com> Add fingerprint settings support to the framework

- cleanup thread issue and simplify native FingerprintService methods
- add new permissions and enforce them
- add fingerprint hardware detection API

Change-Id: I87c2243ea2412061f1e85b044138480d0161bcdf
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java
a7596147b43940cad3f76c53ed154ef088b9269b 07-Jun-2014 Jim Miller <jaggies@google.com> First pass at FingerprintService integration with HAL.
Move FingerprintService to framework services directory
Fix merge conflicts.

Tested: scanning, enrolling, removing.

Change-Id: I58b2b902cb671dc82cdaa54a195ba5f1a154622c
/frameworks/base/services/core/java/com/android/server/fingerprint/FingerprintService.java