Commit Graph

22907 Commits

Author SHA1 Message Date
Svetoslav Ganov
f372e331e4 Merge "NPE when iterating by character and word in Launcher widgets." into jb-dev 2012-06-11 14:06:29 -07:00
Dianne Hackborn
0f6471ace7 Merge "Fix issue #6641368: can't launch gallery" into jb-dev 2012-06-11 13:09:22 -07:00
Dianne Hackborn
2bd8d0403b Fix issue #6641368: can't launch gallery
This is a revert of 1db36528b1,
but with comments added so I don't make this mistake again. :)

Change-Id: I053216279e3721f08f32f561bb989736ef619f82
2012-06-11 12:27:05 -07:00
Svetoslav Ganov
bbd31559f3 NPE when iterating by character and word in Launcher widgets.
1. The character and word iterators were use the application
   context to keep track of locale changes. However, for widgets
   the context from which the app context is obtained is custom
   created therefore the app context is null and the iterators
   code does not expect that. Now we are caching the locale
   and update it when the configuration changes.

bug:6642281

Change-Id: I3fd201ab9e4efd79e3bdc8afd8ee644e4354a7fb
2012-06-11 12:18:09 -07:00
Jeff Brown
926a5c507b Merge "Remove edge slop handling from ScaleGestureDetector." into jb-dev 2012-06-11 11:46:42 -07:00
Dianne Hackborn
a7e3a1e0e7 Merge "Include important native processes in watchdog stacks." into jb-dev 2012-06-11 10:37:51 -07:00
Chet Haase
913bf80416 Merge "Don't allow apps to request scrolls to out-of-bounds positions" into jb-dev 2012-06-10 12:30:33 -07:00
Svetoslav Ganov
86bbf70587 Merge "Settings crash after enabling TalkBack accessibility." into jb-dev 2012-06-10 09:50:24 -07:00
Dianne Hackborn
f72467ad98 Include important native processes in watchdog stacks.
Helps us track down deadlocks involving native service processes.

Bug: 6615693
Change-Id: I580047550772e29586195a8cf440141574e3f40c
2012-06-08 18:36:48 -07:00
Victoria Lease
2e6f9be563 Merge "Fix fake bold for fallback fonts in frameworks." into jb-dev 2012-06-08 17:27:28 -07:00
Jeff Brown
076f17375b Remove edge slop handling from ScaleGestureDetector.
The edge slop code could violate invariants of ScaleGestureDetector,
such as the assumption that if an ACTION_POINTER_DOWN is observed
or if getPointerCount() >= 2, then there must be at least two
active pointers to choose from.  But due to the edge slop handling,
it was possible for findNewActiveIndex to return -1 in this
case, resulting in a crash.

Bug: 6613154
Change-Id: I4e08e38a49ab27dac1be9484e19de086bc43624a
2012-06-08 16:40:01 -07:00
Svetoslav Ganov
ee33ad24cd Settings crash after enabling TalkBack accessibility.
1. AccessibilityInput filter was not checking whether the touch
   explorer instance is not null before passing it an accessibility
   event. If the accessibility event is dispatched before the input
   filter is installed but after it is created we runt into this
   case.

2. Added a missing null check in accessibility node info.

bug:6635089

Change-Id: Ia389dc1f427427eb73794f6331ccb870e0b44c55
2012-06-08 16:09:36 -07:00
Chet Haase
0061e16e53 Don't allow apps to request scrolls to out-of-bounds positions
An app was requesting smooth scrolling to a view position beyond the
number of items in the list. This caused our setup logic to execute on
every frame, waiting for the target view to be added.

This fix clamps the requested target position to the number of items
actually in the list.

Issue #6572175 Messaging: Sometimes conversation doesn't scroll when focus is brought to the compose field

Change-Id: I23707aeb213e67af4297713a03c2f5b446c8e2b6
2012-06-08 15:01:56 -07:00
Victoria Lease
b26fa0ce68 Fix fake bold for fallback fonts in frameworks.
This change is analogous to Ic0e9f1bbd8cae9fdd3a6d1d015bb9224c8be545c
in WebView, and depends upon the same Skia change that that CL makes
use of.

This flips the "fake bold" flag on for bold fonts in
TextView.setTypeface(), with the expectation that Skia will ignore
the flag if the final typeface used to render the glyphs is already
bold. It also does the same for StyleSpans, TextAppearanceSpans,
TypefaceSpans, and the Switch widget.

With this, fake bold should work uniformly across all scripts - if
fake bold works for a primary typeface, it should also work for all
fallback typefaces.

Bug: 6629786
Change-Id: Id3b8639ab0df83052ffd82809cb12adaacc1d46b
2012-06-08 13:52:17 -07:00
Daniel Sandler
6cf0c3365a Merge "Various notification template cleanups." into jb-dev 2012-06-08 13:38:02 -07:00
Dianne Hackborn
0876ab0ac1 Merge "Fix issue #6295373: "Package com.google.android.apps.authenticator2 has..." into jb-dev 2012-06-08 11:01:42 -07:00
Kenny Root
af95137a9f Merge "Whoops, this version number wasn't updated when JB was introduced!" into jb-dev 2012-06-08 09:51:04 -07:00
Daniel Sandler
619738c9e7 Various notification template cleanups.
Bug: 6597693 // hide line3 in InboxStyle
Bug: 6593691 // vertical centering inconsistencies
Bug: 6592116 // no left action gutter in BigPicture
Bug: 6622757 // missing subtext in BigText expanded
Change-Id: I941af99d0a905b6e0aa6fb74ad4eff29c17d9fc2
2012-06-08 11:41:37 -04:00
Dianne Hackborn
1db36528b1 Whoops, this version number wasn't updated when JB was introduced!
Change-Id: I9c9cd658cc1cba99b84059c8873c22b21b9f3c19
2012-06-07 18:20:55 -07:00
Dianne Hackborn
d0c5f515c0 Fix issue #6295373: "Package com.google.android.apps.authenticator2 has...
...mismatched uid: X on disk, Y in settings" errors on Froyo and Gingerbread

Deal more gracefully with the uid changing in three ways:

1. If the uid on disk has become root, then have installd change it to
   the application's uid.  This is to correct a potential case where
   installd was interrupted while linking or unlinking the libs dir,
   during which it temporarily changes the owner of the dir to root
   so that a malicious app can not get in its way.  So if the uid on
   disk has become root, we assume we can safely just change it back
   to the correct uid.

2. When scaning packages at boot, use the same "delete and rebuild data
   directory" code for third party applications as we have for system
   applications.  This allows us to at least end up in a state where the
   app will run, even if its data is lost.

3. But we really don't want to get in to case 2, so if an application
   update is being installed and we find that the uid we now have for
   the app is different than the one on disk, fail the update.  This will
   protect against for example a developer changing the sharedUserId of
   their app and getting into this bad state.

Bug: 6295373
Change-Id: Ic802fdd818ac62449ff3c61d1fff1aa4d4942f39
2012-06-07 16:57:57 -07:00
John Reck
839fd4144e Merge "Eliminate gap between finalize() and destroy()" into jb-dev 2012-06-07 15:57:56 -07:00
John Reck
0e0ce11e57 Merge "Stay in layer scroll if nothing to scroll" into jb-dev 2012-06-07 15:29:46 -07:00
John Reck
919c89e204 Stay in layer scroll if nothing to scroll
Bug: 6628376
 The issue here is that contentX & contentY can both be 0 if we are scrolling
 slowly enough as they are adjusted by the page's scale and can thus round down.
 However, this would result in us falling out of layer drag mode even though
 we haven't tried to scroll past the edge of the layer. Detect this case, and
 stay in layer scroll mode.

Change-Id: I3c655d0d03e8f89887abbe718bd24699c133ee1a
2012-06-07 14:45:34 -07:00
Gilles Debunne
78c6aeeffa Merge "Fixed cast exception with selectable text." into jb-dev 2012-06-07 14:15:40 -07:00
Svetoslav Ganov
ddbcce81ac Merge "Cannot interact with dialogs when IME is up and on not touch explored popups." into jb-dev 2012-06-07 13:50:58 -07:00
John Reck
d5e2937933 Eliminate gap between finalize() and destroy()
Bug: 6569073
 Only nativeDestroy and nativeStopGL need to be called on the UI thread,
 so split up destroyImpl into 3 functions, and only have the native
 destroy be pushed to the UI thread if necessary. Also make the work that
 is delayed be static without references to the finalizing WebView to allow
 it to be fully deleted immediately after finalization.

Change-Id: I4e424051e69df0bc409af95ca3f3d2b9e58a6b75
2012-06-07 13:14:57 -07:00
Adam Powell
4c38fe369f Merge "Protect against bogus input for ListViews" into jb-dev 2012-06-07 12:12:00 -07:00
Svetoslav Ganov
86783474fd Cannot interact with dialogs when IME is up and on not touch explored popups.
1. If the last touch explored location is within the active window we
   used to click on exact location if it is within the accessibility
   focus otherwise in the accessibility focus center. If the last touch
   explored location is not within the active window we used to just
   click there. This breaks in the case were one has touch explored
   at a given place in the current window and now a dialog opens *not*
   covering the touch explored location. If one uses swipes to move
   accessibility focus i.e. to traverse the dialog without touching
   it one cannot activate anything because the touch explorer is using
   the last touch explored location that is outside of the active
   window e.g the dialog.

   The solution is to clear the last touch explored location when a
   window opens or accessibility focus moves. If the last touch
   explored location is null we are clicking in the accessibility
   focus location.

bug:6620911

2. There is a bug in the window manager that does not notify a
   window that its location has changed (bug:6623031). This breaks
   accessibility interaction with dialogs that have input because
   when the IME is up the dialog is moved but not notified. Now
   the accessibility layer gets incorrect location for the
   accessibility focus and the window bounds.

   The soluion is when the accessibility manager service calls
   into the remove thress to obtain some accessibility node infos
   it passes the window left and top which it gets from the
   window manager. These values are used to update the attach info
   window left and top so all accessibility node infos emitted
   from that window had correct bounds in screen coordinates.

bug:6620796

Change-Id: I18914f2095c55cfc826acf5277bd94b776bda0c8
2012-06-07 12:02:16 -07:00
Chet Haase
a1723d1866 Merge "Revert "Remove ViewTreeObserver allocations"" into jb-dev 2012-06-07 11:27:26 -07:00
Gilles Debunne
857c341dfe Fixed cast exception with selectable text.
Bug 6550358

The EditText constructor now calls setTextIsSelectable, which uses
getText where the cast exception happens because the EditText is not
yet fully built and its text does not have the right type.

Fixed by using mText directly instead of getText().

Change-Id: I52a2720ae99475881f210ac74464728cab92147e
2012-06-07 10:51:06 -07:00
Martijn Coenen
fefd48965c Merge "Small NFC API docs addition." into jb-dev 2012-06-07 10:35:15 -07:00
Chet Haase
0f8ffd8374 Revert "Remove ViewTreeObserver allocations"
This reverts commit b999cc118f.

There was an assumption in this earlier change that observer dispatching could not be
recursive - we could only ever have one iteration on the observer listener list. This
assumption broke down in a specific app, and maybe in more, so reverting the change for now.
We should probably find a way to accomplish the same allocation-minimizing goal without
causing exceptions when violating our assumptions.

Issue #6620795 [Application compatibility] Lufthansa app crashes

Change-Id: I1c1f9ad329c14398feb0e74ce77e1a07111f7d1f
2012-06-07 08:00:49 -07:00
Chet Haase
44b2fe3fc1 Track canvas clearing for swap buffers logic.
A previous fix made it necessary for a frame to render something to GL
in order to cause a call to eglSwapBuffers(). Besides the calls being
tracked as part of issuing a DisplayList, there is also a potential call
to clear the canvas (via glClear()) on non-opaque surfaces. This call is also
good to track, since a surface that gets cleared without any other drawing operations
is worth flipping to the screen (to erase old contents on that surface).

This fix tracks the status of the pre-draw operations to find out whether
glClear() was called and then sets the drawing status appropriately.

Issue #6606422 QuickContact dismissal is janky again (Tracking)

Change-Id: I5fcaccfdc9293dd46b83f2fc279730a5d2740ebf
2012-06-07 06:25:04 -07:00
Adam Powell
28048d011c Protect against bogus input for ListViews
Guard against cases where ListView might receive touch events while
detached.

Update ListMenuPresenter to dispatch a data set change when the
backing menu is changed.

Bug 6543282

Change-Id: If2fb9b6aa3cf4a1b7070a7cd0de0edf0fc2f4cca
2012-06-06 22:47:56 -07:00
Martijn Coenen
3b6ecf0ec1 Small NFC API docs addition.
Indicate that if the device does not support Bluetooth or WiFI,
calling the API is a no-op.

Bug: 6620788
Change-Id: Ib261e0e7855d0914e97803b3b808015b72f3a186
2012-06-06 17:05:37 -07:00
Chris Craik
37e0c3681e Merge "Revert "Add temporary functor detach logging"" into jb-dev 2012-06-06 16:59:01 -07:00
Chris Craik
aa3b7d88ef Revert "Add temporary functor detach logging"
bug:6608646

This reverts commit f98851ab37
2012-06-06 16:45:53 -07:00
Chris Craik
8f1f714f83 Merge "Revert "Add more temporary logging for investigating detachFunctor"" into jb-dev 2012-06-06 16:45:04 -07:00
Chris Craik
932b7f6765 Revert "Add more temporary logging for investigating detachFunctor"
bug:6608646

This reverts commit 8857b2f76a

Change-Id: I1563b5974c52b84201ae448298f804eb0dcc235d
2012-06-06 14:02:55 -07:00
Dianne Hackborn
533fce25a2 Merge "Docs (mostly): enumerate JELLY_BEAN target SDK changes." into jb-dev 2012-06-06 13:31:59 -07:00
Dianne Hackborn
636fd528f7 Docs (mostly): enumerate JELLY_BEAN target SDK changes.
Okay this isn't entirely docs.  I have un-hidden the new permission
for binding to accessibility services; we were going to go out with
it hidden since it didn't go into factory ROM, but now that we are
doing other things we might as well expose it.

Also changed a log from E to W, since it is not an error.

Change-Id: I9226c95e3b63e12218fe41dc3f4290d9824a9e5c
2012-06-06 11:36:49 -07:00
Svetoslav Ganov
538252cd37 Merge "Removing leftover code to sync accessibility and input focus." into jb-dev 2012-06-06 10:55:12 -07:00
Mangesh Ghiware
b215726a0e Merge "Remove transient and unnecessary update density message." into jb-dev 2012-06-06 08:32:36 -07:00
Svetoslav Ganov
462a7284b5 Removing leftover code to sync accessibility and input focus.
1. We have decided to let the accessibility services take care
   for syncing accessibility and input focus. Some apps may
   move input focus when a given view takes input focus which
   dragging accessibility focus can lead to a loop in the
   focus traversal. This change removes some leftover sync
   code.

bug:6616861

Change-Id: I57cb44e315a386d13596794d3767b559e9ee3d99
2012-06-05 21:10:04 -07:00
Adam Powell
f6452d0cac Merge "More fun with MediaRouter" into jb-dev 2012-06-05 19:27:49 -07:00
Adam Powell
690ffb4e1f More fun with MediaRouter
Add action provider, button, and styles. Extend ActionProvider to
allow for getting references to MenuItem instances.

Implement toggle mode for the MediaRouteButton/ActionProvider. Dialog
selection yet to come.

Change-Id: Ibe3188570f503bbf8dd00cf154663435656a7171
2012-06-05 19:15:57 -07:00
Jeff Brown
615fd3dff2 Merge "Implement new rotation policy." into jb-dev 2012-06-05 19:11:13 -07:00
Mangesh Ghiware
c7ad10201b Remove transient and unnecessary update density message.
On a page load, the (viewport) metadata settings for the main frame are
reset. Reloading a page with viewport meta tag specifying target density
dpi will result in 2 back to back update zoom density messages to be
sent from WebViewCore to UI thread.

In setupViewport(), remove update density messages in flight. If the new
density is indeed different from WebView's default scale, queue another
message.

Bug: 6509512
Change-Id: I195e40277bf1bcccb0e61d84ed84db1e34556243
2012-06-05 18:46:10 -07:00
Jeff Brown
207673cdbb Implement new rotation policy.
Rotation lock does not override NOSENSOR mode anymore.

Centralize the rotation policy settings into a new class shared by
the System UI and Settings applications.

Add a new setting to specify whether rotation-lock is being hidden
because the "auto-rotate screen" option has been toggled in the
Accessibility settings panel.

Bug: 6523269
Change-Id: I15173280d25bc5d101e89a9c65913aefc53fc33a
2012-06-05 17:59:46 -07:00
John Reck
804e822c56 Merge "Fix logspam" into jb-dev 2012-06-05 16:50:10 -07:00