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
1 file changed