We currently only allow one GLThread to have an active EGL Surface at a
time.(This may be lifted in the future, when EGL and GL are reentrant.)
Prior to this change we would enforce this rule by having older GLThreads
quit when a new GLThread started. That had the drawback of leaving the
older GLSurfaceViews in a zombie state -- their GLThreads would be
gone.
We now enforce this rule by just releasing and reacquiring the EGL surface
context as needed.
Specific changes to the code:
created private helper methods - startEgl and stopEgl to help manage
starting and stopping EGL.
Move the calls to sGLThreadManager start and end from the outermost run
method into the startEgl / stopEgl methods.
Reworked the wait loop to handle starting and stopping EGL as needed.
needToWait() gets simpler -- just looks at current status.
sGLThreadManager.shouldQuit was replaced by shouldHaveEgl.
This is another step in fixing bug 2228262.
This allows us to adjust immediately when we receive a correct light sensor reading
after the screen turns on.
Change-Id: I627047365640761727348e577c9164a6d6be2772
Signed-off-by: Mike Lockwood <lockwood@android.com>
Merge commit 'f7dec4a7986c8d4034d9b029b315bfef4f73158e'
* commit 'f7dec4a7986c8d4034d9b029b315bfef4f73158e':
Remove "@hide pending API council" in webkit to expose
Merge commit '2689808c79d16826dbd3596183fae03c788fb130'
* commit '2689808c79d16826dbd3596183fae03c788fb130':
Expose WallpaperSettingsActivity in the public API.
Merge commit 'd9e22ed8fe08c8c9fcf5c47a6b25d335a3158056' into eclair-mr2-plus-aosp
* commit 'd9e22ed8fe08c8c9fcf5c47a6b25d335a3158056':
Remove "@hide pending API council" in webkit to expose
Merge commit '704af39c283060047441771e242d89fb3296bffb' into eclair-mr2-plus-aosp
* commit '704af39c283060047441771e242d89fb3296bffb':
Expose WallpaperSettingsActivity in the public API.
Merge commit '0691ad50ca6b7a2968a0b95e1e9bb7228dd47d65' into eclair-mr2
* commit '0691ad50ca6b7a2968a0b95e1e9bb7228dd47d65':
Remove "@hide pending API council" in webkit to expose
Merge commit '0691ad50ca6b7a2968a0b95e1e9bb7228dd47d65' into eclair-plus-aosp
* commit '0691ad50ca6b7a2968a0b95e1e9bb7228dd47d65':
Remove "@hide pending API council" in webkit to expose
the apis to SDK.
Remove @hide in GeolocationPermissions and WebStorage
to expose them to the SDK users.
Remove @hide for freeMemory() in WebView.
Remove @hide comment in CallbackProxy and
GoogleLocationSettingManager as they are not public class.
Merge commit '638d86535264b24b54698fca7e18e68571fe0bad' into eclair-mr2
* commit '638d86535264b24b54698fca7e18e68571fe0bad':
Expose WallpaperSettingsActivity in the public API.
Merge commit '638d86535264b24b54698fca7e18e68571fe0bad' into eclair-plus-aosp
* commit '638d86535264b24b54698fca7e18e68571fe0bad':
Expose WallpaperSettingsActivity in the public API.
e.g. "# Comment?"
In both vCard 2.1 and vCard 3.0, this syntax is never allowed, but some actual exporter seems to emit this kind of comment sometimes.
Both vCard 2.1 and vCard 3.0 allows some property to use multiple lines, so this change may cause another problem.
For example, if the "NOTE" property uses Quoted-Printable type, has several lines, and one of the lines starts with '#', we cannot know whether the line is "comment" or not.
Fortunately, in this change, the line is parsed as part of "NOTE" property, so I think there's no problem "right now", which does not mean that it is completely fine with vCard files Android will encounter in the future.
Internal issue number: 2245363
Merge commit 'c481990b630c7ff5bca155f4b1385f71097500d3'
* commit 'c481990b630c7ff5bca155f4b1385f71097500d3':
fix [2243164] live wallpaper screen artifacts at end of boot
Merge commit 'b448893039dc7f06ff5a76e8be6444808b4cf2ea' into eclair-mr2-plus-aosp
* commit 'b448893039dc7f06ff5a76e8be6444808b4cf2ea':
fix [2243164] live wallpaper screen artifacts at end of boot
Merge commit '45dd12cb0834ea5d72872a6d5b3095f3af152434' into eclair-plus-aosp
* commit '45dd12cb0834ea5d72872a6d5b3095f3af152434':
fix [2243164] live wallpaper screen artifacts at end of boot
Merge commit '45dd12cb0834ea5d72872a6d5b3095f3af152434' into eclair-mr2
* commit '45dd12cb0834ea5d72872a6d5b3095f3af152434':
fix [2243164] live wallpaper screen artifacts at end of boot
Merge commit '022a38a00a460dae1f45bb532780b519048e2dd8'
* commit '022a38a00a460dae1f45bb532780b519048e2dd8':
docs: add new document for the win usb driver;
Merge commit 'f6ff2be323812b5525a0755d194b2fc751ba5968' into eclair-mr2-plus-aosp
* commit 'f6ff2be323812b5525a0755d194b2fc751ba5968':
Import revised translations. DO NOT MERGE
Merge commit '3bde388ac2b80c9d86553552eaddf762fc9514a4' into eclair-mr2-plus-aosp
* commit '3bde388ac2b80c9d86553552eaddf762fc9514a4':
docs: add new document for the win usb driver;
Merge commit '1edbc1a12c7ecff267e4b94b74222f980af9de6b' into eclair-mr2
* commit '1edbc1a12c7ecff267e4b94b74222f980af9de6b':
docs: add new document for the win usb driver;
The code intended to copy the old value of a field, before the
field was updated. However, what the code was actually doing was
copying the new value of the field, after the field was updated.
The fix was to move the copy to before the update.
This is work towards fixing bug 2228262
Merge commit '1edbc1a12c7ecff267e4b94b74222f980af9de6b' into eclair-plus-aosp
* commit '1edbc1a12c7ecff267e4b94b74222f980af9de6b':
docs: add new document for the win usb driver;
Merge commit '0e08055aa31c752732005fc48b09ee470a2c4822' into eclair
* commit '0e08055aa31c752732005fc48b09ee470a2c4822':
docs: add new document for the win usb driver;
Merge commit '61080e26799a2236ee87ef5cb35d0f461a5c835f'
* commit '61080e26799a2236ee87ef5cb35d0f461a5c835f':
Hold a lock while we access the preview heap.
Merge commit '62ad899fa6edb7311eb4f6e0dc2da7e354ce359f'
* commit '62ad899fa6edb7311eb4f6e0dc2da7e354ce359f':
Only use FLAG_ACTIVITY_CLEAR_TOP on the search intent when from global search.