The new camera interface calls set_callbacks with a pointer
to it's internal CameraDevice and expects following calls to
the callbacks to use that pointer.
Store the pointer in the camera wraper and intercept the
callbacks calls to pass it along.
Change-Id: I99f02484e12a3f72cf1be13f1c724f474a452d7f
Cameras can be opened only after the camera server has configured
them. Since Android N the framework usually tries to access the
cameras to determine whether they have a flashlight too early,
causing the flashlight tile not to work. Try to open the camera
a few times before giving up to prevent this.
Note that mm-qcamera-daemon already tries to open the camera twice
with 20ms of delay, so the total number of attempts is two times
the one defined here.
Change-Id: I664fdfdafe0829719fcd0a6a31057d761e4f07d9