Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Skip to content
Commit 24e9e966 authored by Alex Klyubin's avatar Alex Klyubin
Browse files

Fix thread affinity of FingerprintManager.

FingerprintManager internally creates a Handler which needs to be
bound to a Looper thread. Prior to this CL the Handler was bound to
the Looper of the current thread. This caused issues:
* Different instances of FingerprintManager could be bound to
  different Looper threads.
* Callbacks from FingerprintManager were invoked on arbitrary
  threads (or not at all if the Looper was there but wasn't running).
* FingerprintManager couldn't be obtained by apps on most non-main
  threads leading to java.lang.RuntimeException: Can't create handler
  inside thread that has not called Looper.prepare().

This CL fixes the issue by binding the FingerprintManager's Handler to
the Looper running on the main thread.

Bug: 20725228
Change-Id: I4a0382d6e11df9f23b8db9f0deec77369af31b5e
parent 033dc46b
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment