Commit Graph

21066 Commits

Author SHA1 Message Date
Chet Haase
bdd896c264 Enable DisplayList properties
This CL simply enables DisplayList property functionality. The code for
this feature is already there, but it's been disabled by default pending further
testing and analysis. This change sets these build-type flags to true
so that all hw-accelerated apps will now use DisplayList properties by default.

In particular, this feature enables a fast-path for changes that affect the
handful of View properties involved in animations (alpha, translationX, etc.).
Setting these properties now gets propagated to the native DisplayList associated
with the View, avoiding costly recreation of the SDK-level DisplayList and
also enabling faster invalidation of the view hierarchy.

Change-Id: Ic99c8f28fa9183f2e54e9e4860b333eb9c540f7c
2012-03-19 13:40:49 -07:00
Marc Blank
b106153ba9 Merge "Use renameTo safely when creating the user 0 account database" 2012-03-18 21:37:52 -07:00
Marc Blank
c6b0f99bb3 Use renameTo safely when creating the user 0 account database
* Because the user directory probably won't exist, the renameTo
  in previous code fails silently

Bug: 6188815
Change-Id: I6afd1bad9bbd1a36de7e93d9e02ed7172b1ed370
2012-03-18 19:18:49 -07:00
Jeff Sharkey
06ba42d5fb Merge "Move StrictMode timers to postAtFrontOfQueue()." 2012-03-16 18:26:48 -07:00
Chet Haase
d3c326e653 Merge "Reduce redundant animation processing" 2012-03-16 18:03:21 -07:00
Chet Haase
c6ffab3241 Reduce redundant animation processing
Starting several animations will place separate events onto the
animation queue, which may cause the active animations to get
processed more than once in any frame when one of those start messages
is processed.

This change moves the logic of starting pending animations into
the animation frame processing itself. Now when a start event is
processed, it only calls the animation frame logic if there are
unstarted animations pending.

Issue #6172602 Inconsistent animation callbacks

Change-Id: I3a546f0c849f42b2dd998f099fcdfafd7d780ad9
2012-03-16 16:43:06 -07:00
Jeff Sharkey
3761f33387 Move StrictMode timers to postAtFrontOfQueue().
StrictMode posts a message to estimate how long the main thread was
blocked during a violation.  Currently, any pending messages are
counted against the violation.  To avoid this, switch to using
postAtFrontOfQueue().

Bug: 6119289
Change-Id: I94530632ca678b78b75a698cf9193641b102be9a
2012-03-16 15:46:46 -07:00
George Mount
9e4fdfae11 Merge "Move the selection handles vertically to match TextView." 2012-03-16 15:31:50 -07:00
George Mount
f5124e39b8 Move the selection handles vertically to match TextView.
Bug 6185758

Change-Id: I4165f216b5e02cab5b19f10666f28abbb956de03
2012-03-16 15:13:24 -07:00
Victoria Lease
793ce52d7c Merge "proposed public API for asynchronous find-on-page" 2012-03-16 14:56:11 -07:00
Victoria Lease
abeb6a7915 proposed public API for asynchronous find-on-page
Bug: 6052412

Change-Id: I63bff3bfda50eede958cb885f5068ae94bdcfe7d
2012-03-16 14:19:37 -07:00
Jeff Sharkey
561d7a43c1 Merge "Remove network subtype check when building template." 2012-03-16 11:58:39 -07:00
Jeff Sharkey
f9f1d06678 Remove network subtype check when building template.
Change-Id: I069d82a77d27dae6bfffe3b7e65d73b63f258ad9
2012-03-16 11:54:01 -07:00
Jeff Sharkey
2937a9ea0a Merge "Combine network subtypes by default." 2012-03-16 11:40:40 -07:00
Jeff Sharkey
d4dd7716fb Combine network subtypes by default.
Subtype controls (3G-vs-4G) aren't exposed in the UI, so tracking
data with that granularity creates unnecessary overhead. For example,
some GSM networks can regularly flap between two subtypes.

Bug: 6118868
Change-Id: Id098891dba52336d00d0f96632a7924e228b4713
2012-03-16 11:35:29 -07:00
Chet Haase
4bf8b20995 Merge "Optimizing DisplayList properties" 2012-03-16 09:21:14 -07:00
Chet Haase
9d1992deae Optimizing DisplayList properties
DisplayList properties are still disabled default (flags in View.java
and DisplayListRenderer.h). When they are enabled, and when a View has
a DisplayList, invalidations due to property changes are now optimized
to avoid causing DisplayList recreation. This eliminates the drawing step
of invalidation (due to changes in these properties), only requiring
issuing the previously-created DisplayList to the GL renderer. Invalidation
is slightly faster (less overhead as we walk up the hierarchy), getDisplayList()
is potentially much faster (going down to ~0ms), depending on the complexity
of the View being redrawn and the size of the invalidated hierarchy.

Change-Id: I57587d5b810c3595bdd72a6c52349c2a3d1bdf25
2012-03-16 09:14:52 -07:00
George Mount
ddc421d19c Merge "Update edit text size when the text changes so scroll works." 2012-03-16 07:00:42 -07:00
Wu-cheng Li
8d3c318b2d Merge "Add a new camera open API that allows taking the ownership." 2012-03-15 21:23:24 -07:00
Romain Guy
51e4d4db29 Better implementation to clear display lists
Change-Id: I58f9af4bae70a8117db1455a50c0c5daf19b2f4a
2012-03-15 18:30:47 -07:00
Romain Guy
cde6adf45c Fix the build
Change-Id: I6de62c7bfaecd85810178f58707157466291eca3
2012-03-15 17:04:47 -07:00
George Mount
c6c549d8d2 Update edit text size when the text changes so scroll works.
Bug 6176413
 Webkit Change: I487322ca9578c003f937b92ca4e8d46d34ea8c78

Change-Id: I6b8f244cd747d6d19c261d685a3cfb9ef4d71ec3
2012-03-15 16:43:14 -07:00
Gilles Debunne
590924e10a Merge "Multiple display lists for editable text" 2012-03-15 16:35:56 -07:00
Romain Guy
c6e8811cb4 Merge "Postpone DisplayList recycling when detached from window" 2012-03-15 16:20:25 -07:00
Jeff Brown
c0102b7a7d Merge "Port the SQLite locale setting code to Java." 2012-03-15 16:07:08 -07:00
Jeff Brown
1d9f742e00 Port the SQLite locale setting code to Java.
Make the database opening code more robust in the case of
read-only database connections.

Check whether a PRAGMA needs to be issues before doing it.
Mostly it's harmless but it can grab a transaction on the
database unnecessarily.

Change-Id: Iab2cdc96c785e767f82966b00597e19337163f2f
2012-03-15 16:02:58 -07:00
Scott Main
d45f5b5843 am af2827ba: am 714d655c: am eb1d42e4: Merge "docs: Fix a bunch of misc doc issues from external tracker" into ics-mr1
* commit 'af2827ba96361a63eac792e679027f8d6f2c8482':
  docs: Fix a bunch of misc doc issues from external tracker
2012-03-15 16:02:29 -07:00
Scott Main
af2827ba96 am 714d655c: am eb1d42e4: Merge "docs: Fix a bunch of misc doc issues from external tracker" into ics-mr1
* commit '714d655ccfcc0d465a1a8c190d407e3d97261d76':
  docs: Fix a bunch of misc doc issues from external tracker
2012-03-15 15:59:37 -07:00
Scott Main
714d655ccf am eb1d42e4: Merge "docs: Fix a bunch of misc doc issues from external tracker" into ics-mr1
* commit 'eb1d42e4faa34c2acf76200913920fd5ca46a39e':
  docs: Fix a bunch of misc doc issues from external tracker
2012-03-15 15:56:12 -07:00
Romain Guy
bc7616eae9 Postpone DisplayList recycling when detached from window
This was causing a crash in apps that remove views during a draw pass.

Change-Id: I1c4621639fe920291b2c6fb7bfd17a69101a1329
2012-03-15 15:56:11 -07:00
Romain Guy
8e06f3e7ab Merge "Cleanup ListView glow's optimized invalidates" 2012-03-15 13:15:46 -07:00
Romain Guy
a8bfeaf4f4 Cleanup ListView glow's optimized invalidates
Change-Id: Ie9759fd95366866512ec55072aa482f972650d15
2012-03-15 13:14:14 -07:00
Amith Yamasani
0791335443 Merge "Fix sync tests failure." 2012-03-15 12:38:40 -07:00
Gilles Debunne
33b7de85b6 Multiple display lists for editable text
Bug 5763685

Long text in a ScrollView (not when the View's internal
scroll is used) is cached as a unique display list when hardware
rendering is on.

As a result, each time the text is edited, the entire display
list has to be updated, which takes a significant amount of
time (up to 500ms for a few thousand lines), proportional to the
size of the text.

This CL splits the text into multiple display lists as the
text is edited. The boundaries of the display list are aligned
with paragraphs.

There is still an issue when the number of lines changes: onLayout()
is called which invalidates all the display list. When the source
of that change is line wrapping and not a change in the view's
dimensions, we should be able to simply shift down the previous DL
instead of re-creating everything.

Change-Id: I7de49a1e5637cdfc9ef06b64b1ec4b61d9ea2415
2012-03-15 11:32:50 -07:00
George Mount
f63c52ac87 Merge "Add scrolling editable text with a finger drag." 2012-03-15 10:54:30 -07:00
George Mount
f70276a259 Add scrolling editable text with a finger drag.
Bug 6156451

 WebKit change: Ie08712fb17b237fbb2d520d745ef8a2e489fd728

Change-Id: I1a16c708e5ea2ef8bd1f99197dacbc7831764ef4
2012-03-15 10:00:44 -07:00
Chet Haase
e82a54aedc Merge "Fix bug with transform Animations" 2012-03-15 09:25:35 -07:00
Chet Haase
bcbec0ccd0 Fix bug with transform Animations
A recent change to enable View properties at the native DisplayList level
mistakenly cuased Animation transforms get be ignored for any View with
a DisplayList. The correct code should have checked whether DL properties
were enabled for the view (disabled by default for now).

Issue #6173975 Animations are gone

Change-Id: I5d5f53f854fb1b533a3150158e84392d7283d2a8
2012-03-15 09:22:17 -07:00
Wu-cheng Li
a1c41e13b5 Add a new camera open API that allows taking the ownership.
The purpose is to let face unlock always get the camera
successfully. What happened was the camera applications may
have opened the camera in onResume under the lock screen.
This API lets face unlock take the camera from the camera
application. A new permission will be added, so other
applicatoins won't be able to take the camera from the face
unlock.

bug:5584464

Change-Id: Ib3d9dcbc2161815b68db42327dc01148453704c6
2012-03-15 14:50:48 +08:00
Jeff Brown
5571ffdd9d Merge "Prefetch column names in bulk cursor adaptor." 2012-03-14 18:56:07 -07:00
Jeff Brown
fb5a4964b8 Prefetch column names in bulk cursor adaptor.
If the remote end of a bulk cursor died, then it was possible
for getColumnNames() to return null, violating the invariant
that it never returns null.  As a result, the application could
crash in strange ways due to an NPE.

Since we are often interested in the column names anyhow, prefetch
them when setting up the bulk cursor adaptor.  This way, a
remote cursor will never return null even if the remote end died.

It is possible for an application to continue to use a remote cursor
even after the provider has died unless it needs to requery it
for some reason.  Of course at that point, bad things will
happen... but usually the app is better prepared for it than
if it just randomly encounters a null array of column names.

This change also optimizes the bulk cursor adaptor to return the
initial cursor window back to the client, potentially saving
an extra RPC.  Because the communication protocol between
the CursorToBulkCursorAdaptor and BulkCursorToCursorAdaptor was
getting a little hard to follow, introduced a new type called
BulkCursorDescriptor to hold all of the necessary parameters.

Deleted several unnecessary IBulkCursor methods that are never
actually called remotely.

Bug: 6168809
Change-Id: I9aaf6f067c6434a575e2fdbf678243d5ad10755f
2012-03-14 18:51:07 -07:00
Selim Gurun
146059898b Merge "Fix file path calculation for asset files." 2012-03-14 17:36:37 -07:00
Philip Milne
b269aaf860 Merge "Fix for bug 6170890." 2012-03-14 17:36:21 -07:00
Philip Milne
edd69518ff Fix for bug 6170890.
Also fix logic for consistency checking. Prior to this CL
GridLayout was causing Launcher to issue warnings to the logs
incorrectly.

Change-Id: I9d4017388e7c80c8bc5fa6cab97970835ff261fe
2012-03-14 17:27:26 -07:00
Romain Guy
c3da1b44e6 Merge "Optimize invalidate calls in lists." 2012-03-14 17:24:04 -07:00
Romain Guy
9d849a2f63 Optimize invalidate calls in lists.
AbsListView was doing too many invalidates during scrolls/flings.
Some of them were also covering too large an area of the screen.

Change-Id: I68fe5dda3657bddd673996e7cf4f3c3672c66cfc
2012-03-14 17:19:35 -07:00
Selim Gurun
658dcd87db Fix file path calculation for asset files.
Bug: 6019611
filter out query params and URI fragments from file path.

Change-Id: Ia5892490a5ffa89d82b52c2a5e6956a244566a4a
2012-03-14 16:24:31 -07:00
Amith Yamasani
1b6ae002a5 Fix sync tests failure.
Bug: 6156819 Contacts initial sync test fails

Earlier commit was incorrectly cloning the currentSyncs list, so it
wasn't being updated.

Change-Id: I23cea8a190127746e9a1218e7bfda630599cef17
2012-03-14 14:53:36 -07:00
Teng-Hui Zhu
5a080e2207 Live streaming video may not have the right size at prepared
The fix is add the OnVideoSizeChangedListener.
bug:5420327

Change-Id: I1e0b371b8b95b86a1c0903f4bdb1d8f38de793b7
2012-03-14 13:54:59 -07:00
Dianne Hackborn
5108b1b3cf Merge "Add new "options" argument to all startActivity APIs." 2012-03-14 13:48:51 -07:00