Previously we imlpemented the standard semantics for
eglInitialize / eglTerminate, which are that
eglInitialize may be called any number of times,
but the first call to eglTerminate will terminate
the display.
Now we follow reference-countins semantics, which
means that eglTerminate will only terminate the
display when the reference count returns to zero.
This change allows EGL to be used by multiple
independently written modules in the same process.
(Otherwise there is no way for the independent
modules to coordinate their use of the display.)
Previous range-checking fix removed an inequality check. This change
restores it.
Offending change was I5eb310ced58c3c64a7af2d11b80326efe5adbcab
Change-Id: Ic952c3ba5a4f7e5ab2148ec623b6f083cb7495fb
if a buffer couldn't be allocated because of an OOM, SF could, in some case dereference
a null pointer.
Change-Id: I5321248c38a21e56d5278b6aada2694e64451378
with the current locale, not previous one, every time it is possible.
Add a unit test verifying this fix.
BUG: 2514026
Change-Id: I4dd1b047e1ab4bf399e2c3ebc0304c0cfa3a0928
We now distinguish EGL_CONTEXT_LOST errors from
other kinds of errors. We return "true" if
the swap completes successfully, "false" if
the swap fails due to EGL_CONTEXT_LOST, and
throw a RuntimeException if the swap fails due
to any other cause.
If eglSwapBuffers succeeds, we now avoid calling
eglGetError at all, which means we avoid clearing
any EGL errors that might already have been
pending before eglSwapBuffers is called.
AbsListView shouldn't update mLastTouchMode in onTouchModeChanged;
it's only used in onWindowFocusChanged and since onTouchModeChanged
gets called first, the current and last modes will never be different
to trigger the right code path.
Change-Id: Ic9bc454c87826622df54417801fd8f13213c480e
Fix for http://b/issue?id=2511581
Also call delete instead of deleteHistoryWhere, since we are only
considering non bookmarks anyway.
Change-Id: I00c052db3d27d61592688e7a160e721d5f82b210
There is a potential threading issue where an app could call release()
on two threads. This hack adds a static lock object that serializes
access to the Java fields that contain the pointer to the native
AudioRecord object and weak reference to the Java object. Also
modifies finalize() to call release() so that both use the locking
scheme.
Change-Id: I09dcb19b7f501dc582e40e8718142b493eba2518
Bug description:
1) Start Car Dock app.
2) Drop phone into Desk Dock
3) Press back to quit Desk Dock app.
Car Dock Notification doesn't go away if I select it from the shade.
Change-Id: I9d3ad4dbbe8f886fc8d523d104676194c3943473
compiler built-ins so this change should not negatively effect the
generated code. However, a forthcoming commit will remove the
implicit include of strings.h from stdlib.h and bzero will no longer
be visible in these translation units without additional includes.
Change-Id: I8080fbcaabad4ff280163515168e4af5cd0a7112