diff --git a/services/core/java/com/android/server/fingerprint/FingerprintService.java b/services/core/java/com/android/server/fingerprint/FingerprintService.java index 3da35517faf09..c3259c312cd79 100644 --- a/services/core/java/com/android/server/fingerprint/FingerprintService.java +++ b/services/core/java/com/android/server/fingerprint/FingerprintService.java @@ -941,9 +941,7 @@ public class FingerprintService extends SystemService implements IHwBinder.Death @Override public void sendResult(Bundle data) throws RemoteException { - if (mWakeLock.isHeld()) { - mWakeLock.release(); - } + releaseWakelock(); } }); } catch (DeadObjectException e) { @@ -951,6 +949,7 @@ public class FingerprintService extends SystemService implements IHwBinder.Death mHandler.post(mRemoveCallbackRunnable); } catch (RemoteException e) { Slog.w(TAG, "Failed to invoke onLockoutReset: ", e); + releaseWakelock(); } } } @@ -958,9 +957,7 @@ public class FingerprintService extends SystemService implements IHwBinder.Death private final Runnable mRemoveCallbackRunnable = new Runnable() { @Override public void run() { - if (mWakeLock.isHeld()) { - mWakeLock.release(); - } + releaseWakelock(); removeLockoutResetCallback(FingerprintServiceLockoutResetMonitor.this); } }; @@ -970,6 +967,12 @@ public class FingerprintService extends SystemService implements IHwBinder.Death Slog.e(TAG, "Lockout reset callback binder died"); mHandler.post(mRemoveCallbackRunnable); } + + private void releaseWakelock() { + if (mWakeLock.isHeld()) { + mWakeLock.release(); + } + } } private IBiometricsFingerprintClientCallback mDaemonCallback =