Fix issue with wrong token used for input consumer unregistration
- Calling TIS.onUserUnlocked() will create a new InputConsumerController
and also call register() on that consumer, which will under the hood
destroy and create the consumer with WM. However, if onUserUnlocked()
is called multiple times (generally not the case), the second call
will trigger the creation of a new InputConsumerController and try
to call destroy with the new consumer's token instead of the old
one, and when it creates a new consumer WM will throw an exception
complaining that there is already a consumer.
We should instead use the same input consumer controller instance
for each registration so that we can destroy with the same token that
was previously used to create the consumer
Fixes: 313284686
Test: Force trigger onUserUnlocked() multiple times and ensure no crash
Change-Id: I67da9a1ca82568770d470fd94f17378fd50c02f4
1 file changed