65360 Commits

Author SHA1 Message Date
Jean-Baptiste Queru
164a984224 Merge "stagefright aacenc: Properly terminate a comment" 2012-01-24 07:51:12 -08:00
Svetoslav Ganov
79311c4af8 Speedup the accessibility window querying APIs and clean up.
1. Now when an interrogating client requires an AccessibilibtyNodeInfo
   we aggressively prefetch all the predecessors of that node and its
   descendants. The number of fetched nodes in one call is limited to
   keep the APIs responsive. The prefetched nodes infos are cached in
   the client process. The node info cache is invalidated partially or
   completely based on the fired accessibility events. For example,
   TYPE_WINDOW_STATE_CHANGED event clears the cache while
   TYPE_VIEW_FOCUSED removed the focused node from the cache, etc.
   Note that the cache is only for the currently active window.
   The ViewRootImple also keeps track of only the ids of the node
   infos it has sent to each querying process to avoid duplicating
   work. Usually only one process will query the screen content
   but we support the general case. Also all the caches are
   automatically invalidated so not additional bookkeeping is
   required. This simple strategy leads to 10X improving the
   speed of the querying APIs.

2. The Monkey and UI test automation framework  were registering a
   raw event listener for accessibility events and hence perform
   connection and cache management in similar way to an AccessibilityService.
   This is fragile and requires the implementer to know internal framework
   stuff. Now the functionality required by the Monkey and the UI automation
   is encapsulated in a new UiTestAutomationBridge class. To enable this
   was requited some refactoring of AccessibilityService.

3. Removed the *doSomethiong*InActiveWindow methods from the
   AccessibilityInteractionClient and the AccessibilityInteractionConnection.
   The function of these methods is implemented by the not *InActiveWindow
   version while passing appropriate constants.

4. Updated the internal window Querying tests to use the new
   UiTestAutomationBridge.

5. If the ViewRootImple was not initialized the querying APIs of
   the IAccessibilityInteractionConnection implementation were
   returning immediately without calling the callback with null.
   This was causing the client side to wait until it times out. Now
   the client is notified as soon as the call fails.

6. Added a check to guarantee that Views with AccessibilityNodeProvider
   do not have children.

bug:5879530

Change-Id: I3ee43718748fec6e570992c7073c8f6f1fc269b3
2012-01-23 20:13:58 -08:00
Adam Cohen
cbe2f48d3f Merge "Fix issue 5905210, AdapterViewAnimator sending negative index to Adapter" 2012-01-23 19:23:06 -08:00
Dianne Hackborn
b7ff51bde9 Another attempt at issue #5823276: home repaints after full-screen app is exited
This is between the two previous attempts.  I returned the part from the
original that was breaking gallery, but have some new code to detect when
something about the window params has changed that would require a
layout pass to make sure we still do a layout then, even if the window is
not currently visible.

Change-Id: I07745e1f66022583e3076b84cc8bbe8bd2acd48f
2012-01-23 19:15:27 -08:00
Adam Cohen
d0c735fccc Fix issue 5905210, AdapterViewAnimator sending negative index to Adapter
Change-Id: I6c1a3c17f1009d9512328f5844e17025f95a216c
2012-01-23 19:12:22 -08:00
Fabrice Di Meglio
50aca29a0b Merge "Fix bug # 5863709 API request: Change param names of deleteSurroundingText to "before" and "after"" 2012-01-23 18:59:17 -08:00
Eric Laurent
0609231f4f AudioFlinger: refine mixer sleep time logic
When an AudioTrack is in underrun state, the AudioFlinger mixer will
sleep for a short period of time to give the app a chance to fill the
AudioTrack buffer. If the AudioTrack is still not ready during next mixing round,
the mixer will proceed with other tracks.

If an application keeps a steady underrun condition, the AudioFlinger mixer will
alternate between ready and not ready states. In the longer term this will cause the
audio HAL to underrun.
There is a mechanism to reduce the sleep period if the mixer is not ready several times in a
row but this mechanism is defeated by the alternating ready/not ready conditions.

The fix consists in only increasing sleep time if the mixer is ready for at least two
consecutive times.

Issue 5904527.

Change-Id: Id0139bca9be8c4e425ec6d428515c4d8f718e8c9
2012-01-23 18:56:59 -08:00
Chia-chi Yeh
bbca2ceffa Merge "VpnDialogs: fix screen flickering when popping up dialogs." 2012-01-23 18:40:52 -08:00
Eric Laurent
0b08965558 DO NOT MERGE Revert "Revert "AudioFlinger: mix track only when really ready (2)""
This reverts commit b918035d34422a2041b6ec8c09c566bb93345b40.

Change-Id: I093bcfa56ad54a080b930208b6b79169d33581fb
2012-01-23 18:37:07 -08:00
Gilles Debunne
4bb2833fa6 Restored selectAllOnFocus
Bug introduced in recent refactoring
https://android-git.corp.google.com/g/#/c/158896/

Do not move cursor when selectAllOnFocus and focus just happened.
The didTouchFocusSelect() condition was not copied over from ArrowKeyMM.

Change-Id: Id01d225c436ae3dd97c5d77d5dac5d0690d7de76
2012-01-23 18:35:37 -08:00
Chia-chi Yeh
ae380fb89d VpnDialogs: fix screen flickering when popping up dialogs.
Bug: 5699057
Change-Id: Iad1b32cafa32f98b27b6c96a63e1e9d97908983a
2012-01-23 18:33:26 -08:00
Daniel Sandler
0b69b59877 Detect and repair invalid layouts in the navigation bar.
It seems that something (probably layout transitions)
occasionally leaves the navigation bar layout in a weird
state such that most of the buttons are offscreen. For
example, the portrait nav bar might have buttons with widths
matching the nav bar's old width from landscape; the
clickable regions will therefore be far off the right edge
of the display.

The navigation bar now looks for this situation when the
size of the view changes and corrects for it.

Bug: 5549288
Change-Id: I8464ac9fd64cb64ec18baf51478dd0f6564a2284
2012-01-23 21:14:37 -05:00
Dianne Hackborn
a486a53a02 Fix issue #5906017: Missing menu entries in portrait when in compatibility mode
This was a bug only when the status bar was hidden, the screen space for
the nav bar would not be correctly removed for all frames used in layout
computation.

This code really $*#&^!! needs to be cleaned up, the whole "status bar
is the system bar when on a tablet so it should take space from apps,
but status bar doesn't do that on phones but on phones there is a nav
bar that does the same thing" thing is whacked.

Proof that evolution DOESN'T WORK!!!!!!!!!!

Change-Id: I24e4994328480820cb638e7a40aa0b65b7ae2003
2012-01-23 18:02:46 -08:00
Jeff Brown
d4e34d61d0 Merge "Inform ContentObservers about the changed content Uri." 2012-01-23 17:36:06 -08:00
Jeff Brown
b934a82139 Merge "Clean up content observer code." 2012-01-23 17:35:50 -08:00
Jeff Brown
655e66bceb Inform ContentObservers about the changed content Uri.
Added a new method ContentObserver.onChange(boolean, Uri) that
receives the changed content Uri.  This can help applications make
better decisions about how to interpret a change notification.

Change-Id: I8e35378b6485fe22c5bc240ba07557d269af0836
2012-01-23 17:28:29 -08:00
Romain Guy
1a54368b24 Merge "Add full support for Canvas.setDrawFilter()" 2012-01-23 17:10:42 -08:00
Romain Guy
5ff9df6582 Add full support for Canvas.setDrawFilter()
Change-Id: I0ad35d0603c4eeda469014803be14c1dcdde918c
2012-01-23 17:09:05 -08:00
Jim Miller
30951c0d06 Revert "Fix 5797764: Increase lock screen's thread priority"
This reverts commit 6d6a70a33746ef5147ab146f1802f0db424dd2f1

This doesn't appear to have a measurable impact for this issue.
2012-01-23 16:55:47 -08:00
Justin Ho
a60483b313 DO NOT MERGE Revert "AudioFlinger: mix track only when really ready (2)"
This reverts commit 71c4496a9757438afd30b4404824f296f6158a49.

Change-Id: Iff10c49ea728bb10023ddeb50a3b708db770fff2
2012-01-23 16:55:47 -08:00
Gilles Debunne
ba3634f355 Fix for AOOB in MeasuredText
Bug 5707593

Change-Id: I3c21343b2938119d7ae9d7892733dc83a209c991
2012-01-23 16:36:35 -08:00
Romain Guy
e575005f7c Merge "Update hardware acceleration doc" 2012-01-23 16:27:50 -08:00
Romain Guy
36d7549181 Update hardware acceleration doc
Change-Id: I3bed77b3c4e1eff96fa462e4849f25f38784c415
2012-01-23 16:26:46 -08:00
Jim Miller
eda775cc89 am 9f080e2a: am 44760b10: Merge "Revert "Fix 5797764: Increase lock screen\'s thread priority"" into ics-mr1
* commit '9f080e2a5bc6a268934e32201c69ea8a86900396':
  Revert "Fix 5797764: Increase lock screen's thread priority"
2012-01-23 15:53:17 -08:00
Jim Miller
9f080e2a5b am 44760b10: Merge "Revert "Fix 5797764: Increase lock screen\'s thread priority"" into ics-mr1
* commit '44760b106a4bafcf83fb356bf91683db40e0e5a2':
  Revert "Fix 5797764: Increase lock screen's thread priority"
2012-01-23 15:51:23 -08:00
Jim Miller
44760b106a Merge "Revert "Fix 5797764: Increase lock screen's thread priority"" into ics-mr1 2012-01-23 15:49:32 -08:00
Fabrice Di Meglio
22cfd047ab Merge "Fix bug #5846413 "phone" keyboard layout is broken on master" 2012-01-23 15:46:58 -08:00
Romain Guy
d215ddf3d9 Merge "Fix API typo" 2012-01-23 15:35:24 -08:00
Romain Guy
1e878d2ff5 Fix API typo
Change-Id: Iac6de947b0d550cc8dd4a3b5d88baa322c21bbb8
2012-01-23 15:34:25 -08:00
Jim Miller
54dbbce1c3 Revert "Fix 5797764: Increase lock screen's thread priority"
This reverts commit 6d6a70a33746ef5147ab146f1802f0db424dd2f1

This doesn't appear to have a measurable impact for this issue.
2012-01-23 15:24:42 -08:00
Justin Ho
5d76def68d am feb1d988: (-s ours) am fee5a860: Merge "DO NOT MERGE Revert "AudioFlinger: mix track only when really ready (2)"" into ics-mr1
* commit 'feb1d988c8ea1a67a4edbf1914ea41ea73519e12':
  DO NOT MERGE Revert "AudioFlinger: mix track only when really ready (2)"
2012-01-23 15:16:00 -08:00
Justin Ho
feb1d988c8 am fee5a860: Merge "DO NOT MERGE Revert "AudioFlinger: mix track only when really ready (2)"" into ics-mr1
* commit 'fee5a860a8355cda071ff23644e943414ba7f65d':
  DO NOT MERGE Revert "AudioFlinger: mix track only when really ready (2)"
2012-01-23 15:13:19 -08:00
Justin Ho
fee5a860a8 Merge "DO NOT MERGE Revert "AudioFlinger: mix track only when really ready (2)"" into ics-mr1 2012-01-23 15:11:00 -08:00
Fabrice Di Meglio
0c95dd3f4f Fix bug # 5863709 API request: Change param names of deleteSurroundingText to "before" and "after"
Change-Id: I727fad9a59cda915899674569bfabd29b9f5da60
2012-01-23 15:06:42 -08:00
John Reck
bc932579ea Merge "Fix crash when scrolling a layer" 2012-01-23 15:04:13 -08:00
Justin Ho
b918035d34 DO NOT MERGE Revert "AudioFlinger: mix track only when really ready (2)"
This reverts commit 71c4496a9757438afd30b4404824f296f6158a49.

Change-Id: Iff10c49ea728bb10023ddeb50a3b708db770fff2
2012-01-23 15:02:41 -08:00
John Reck
7aa7ba1ce6 Fix crash when scrolling a layer
Change-Id: I6e61f3b38c5d1291ceb36c9dfa87fcd78480c2f4
2012-01-23 14:53:47 -08:00
Dianne Hackborn
fc5851579a Merge "New screen rotation animation design." 2012-01-23 14:34:55 -08:00
Joe Malin
a2a46f6294 DOC CHANGE: New Content Provider topics
Change-Id: Ib5507f4c9ecce3aea51cd39310e3f4990c9b3070
2012-01-23 14:18:24 -08:00
Gilles Debunne
3909242141 Merge "Double tap to select enabled on suggestions" 2012-01-23 14:10:44 -08:00
Fabrice Di Meglio
bd901dee31 Fix bug #5846413 "phone" keyboard layout is broken on master
- was a subtle regression introduced when fixing bug #5753006
- as we are now using SkPaint::kGlyphID_TextEncoding (glyph encoding)
instead of SkPaint::kUTF16_TextEncoding (UTF16 encoding), we need to
force the UTF16 encoding in some cases that are NOT going thru
the TextLayoutCache / Harfbuzz shaping

- fix also breakText() the same way

- also clean some old comment

- Warning: depends also on a CL from Skia for having getBaseGlyphCount() "const"

Change-Id: I3d1fc87f070884876c679b33541f810fbfb5df3f
2012-01-23 13:34:08 -08:00
Jeff Brown
86de0590b9 Clean up content observer code.
Improved the documentation a little bit.

Fixed a bug in ContentService wherein if a ContentObserver was
passed as an argument and its deliverSelfNotifications() method
returned true, then notifyChange would tell all observers that
the change was a self-change even though it was only a self-change
from the perspective of the provided observer.

Deprecated ContentObservable.notifyChange since it is never
used and in general it shouldn't be because we want the notification
to be posted to the handler.

Change-Id: Idde49eb40777e011a068f2adae8a32f779dfb923
2012-01-23 13:01:18 -08:00
Dianne Hackborn
fd1c5ed370 New screen rotation animation design.
We now have an animation that can start as soon as we detect to
rotate the screen, and have a different phase once the new UI
is ready to complete the transition into it.

Change-Id: I05b9c12a699232acbddc36b4a994a4452db71476
2012-01-23 12:52:43 -08:00
Dianne Hackborn
a6b8fe1c71 Merge "New brightness setting to adjust auto-brightness mode." 2012-01-23 12:36:19 -08:00
Wink Saville
5d6a095e65 Merge "Do not clear good TLVs when a error occurs decoding." 2012-01-23 12:22:21 -08:00
Andy McFadden
d71b9154da Merge "Don't use bootstrap loader directly" 2012-01-23 12:21:19 -08:00
Wink Saville
7c27ac64d5 Do not clear good TLVs when a error occurs decoding.
In change Ief74d0e4f4f28dff7a435e9dab1fab1ca1d9bfaf with a sha1 of
e81932e92a773538e1ad1ad1d4bfd8f241860c8d it seemed like a good idea
to throw away all TLV's on errors. In retrospect that was probably
not a good idea. For example on the MTN Ghana SIM the error
occurs because of some 0 pad bytes at the end, all of the actual
TLV's are good, so throwing away everything is unreasonable. Instead
accepting what is valid seems a better approach.

Also, add a couple debug lines on error paths.

Change-Id: I4add0c9cd242f46e0ef8700229d0ec755b9e4c4c
2012-01-23 12:19:20 -08:00
Dianne Hackborn
d9ea468d6a New brightness setting to adjust auto-brightness mode.
Change-Id: Icfec22be99d8c79e9ff5720b80fb9dacbba36134
2012-01-23 12:01:00 -08:00
Robert Greenwalt
7df80fa4e8 Use the carrier-given dns addrs for tethering.
This fixes a complaint from carriers (that we used 8.8.8.8), but also
fixes the case where there is only room for one live radio
connection: the secondary connection (tethering) doesn't have a
default route to prevent on-device traffic from slipping out on the
tethering connection, but tethered dns is proxied through dnsmasq, so
it is appearing as on-device traffic and is unroutable.  By switching
to the carrier-indicated dns servers we can use the host-routes
already set for those and kill two bugs with one fix.

bug:5898904
Change-Id: Ida8777687994f353b2d4f2c7db5d6ea4b6ac3882
2012-01-23 11:29:37 -08:00
Bill Gruber
cf5c78f209 am add87f99: am 5e5b57ae: Merge "DevDocs update: Publishing on Market" into ics-mr1
* commit 'add87f99d9ece26c776abe40297e9a49e08932d9':
  DevDocs update: Publishing on Market
2012-01-23 10:41:43 -08:00