Fix race conditions for camera prewarm service

When the unbind request came in before the service was actually
bound, we dropped the unbind request because mPrewarmBound was still
false. Fix that by tracking whether a bind is pending and if a unbind
event comes in during that time, set another flag to unbind it
directly again when the service is actually bound. In addition, don't
allow binding again if any of the previous events are still pending.

Bug: 23143748
Change-Id: I2b8ace86e35479a9848668a3462a2ce687835413
1 file changed