diff options
author | Scott Mertz <scott@cyngn.com> | 2015-06-30 15:28:28 -0700 |
---|---|---|
committer | Andy Mast <andy@cyngn.com> | 2015-07-12 19:02:03 -0700 |
commit | 1be8c60af12fa1edb97c808151ddfa8f43b21c72 (patch) | |
tree | 41131abfcdbfcd010dcbcda87c4ec34d9fef4024 | |
parent | 8d1c3d60bb5ac9020bcc3a7e4b309d602ff97ac6 (diff) | |
download | android_frameworks_base-staging/fpstable.tar.gz android_frameworks_base-staging/fpstable.tar.bz2 android_frameworks_base-staging/fpstable.zip |
Fingerprint: disallow API calls when fingerprint is not availablestaging/fpstable
Change-Id: I90032095d81512e88a768959d093bf08122a81da
Conflicts:
services/core/java/com/android/server/fingerprint/FingerprintService.java
-rw-r--r-- | services/core/java/com/android/server/fingerprint/FingerprintService.java | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/services/core/java/com/android/server/fingerprint/FingerprintService.java b/services/core/java/com/android/server/fingerprint/FingerprintService.java index 8fbb9b201c8..81038d9a34f 100644 --- a/services/core/java/com/android/server/fingerprint/FingerprintService.java +++ b/services/core/java/com/android/server/fingerprint/FingerprintService.java @@ -463,6 +463,12 @@ public class FingerprintService extends SystemService { } } + private void throwIfNoFingerprint() { + if (mHal == 0) { + throw new UnsupportedOperationException("Fingerprint sensor not available"); + } + } + private final class FingerprintServiceWrapper extends IFingerprintService.Stub { private final static String DUMP_CMD_REMOVE_FINGER = "removeFinger"; private final static String DUMP_CMD_PRINT_ENROLLMENTS = "printEnrollments"; @@ -472,37 +478,43 @@ public class FingerprintService extends SystemService { @Override // Binder call public void authenticate(IBinder token, int userId) { checkPermission(); + throwIfNoFingerprint(); startAuthentication(token, userId); } @Override // Binder call public void enroll(IBinder token, long timeout, int userId) { checkPermission(); + throwIfNoFingerprint(); startEnroll(token, timeout, userId); } @Override // Binder call public void cancel(IBinder token,int userId) { checkPermission(); + throwIfNoFingerprint(); startCancel(token, userId); } @Override // Binder call public void remove(IBinder token, int fingerprintId, int userId) { checkPermission(); + throwIfNoFingerprint(); startRemove(token, fingerprintId, userId); } @Override // Binder call - public void startListening(IBinder token, IFingerprintServiceReceiver receiver, int userId) - { + public void startListening(IBinder token, IFingerprintServiceReceiver receiver, + int userId) { checkPermission(); + throwIfNoFingerprint(); addListener(token, receiver, userId); } @Override // Binder call public void stopListening(IBinder token, int userId) { checkPermission(); + throwIfNoFingerprint(); removeListener(token, userId); } @@ -510,13 +522,15 @@ public class FingerprintService extends SystemService { public List<Fingerprint> getEnrolledFingerprints(IBinder token, int userId) throws RemoteException { checkPermission(); + throwIfNoFingerprint(); return FingerprintService.this.getEnrolledFingerprints(token, userId); } @Override - public boolean setFingerprintName(IBinder token, int fingerprintId, String name, int userId) - throws RemoteException { + public boolean setFingerprintName(IBinder token, int fingerprintId, String name, + int userId) throws RemoteException { checkPermission(); + throwIfNoFingerprint(); return FingerprintService.this.setFingerprintName(token, fingerprintId, name, userId); } |