Add move-only lambdas support

Bug: 166800618
Test: atest --host android.hardware.biometrics.fingerprint.WorkerThreadTest
Change-Id: I582d44d5098b7426663b75200c822bc6e8bb70a6
diff --git a/biometrics/fingerprint/aidl/default/WorkerThread.cpp b/biometrics/fingerprint/aidl/default/WorkerThread.cpp
index 512efb8..d1a63d0 100644
--- a/biometrics/fingerprint/aidl/default/WorkerThread.cpp
+++ b/biometrics/fingerprint/aidl/default/WorkerThread.cpp
@@ -36,7 +36,7 @@
     mThread.join();
 }
 
-bool WorkerThread::schedule(Task&& task) {
+bool WorkerThread::schedule(std::unique_ptr<Callable> task) {
     if (mIsDestructing) {
         return false;
     }
@@ -58,10 +58,10 @@
         if (mIsDestructing) {
             return;
         }
-        Task task = std::move(mQueue.front());
+        std::unique_ptr<Callable> task = std::move(mQueue.front());
         mQueue.pop_front();
         lock.unlock();
-        task();
+        (*task)();
     }
 }