Commit Graph

20424 Commits

Author SHA1 Message Date
Svetoslav Ganov
2eecea3b48 Merge "Speedup the accessibility window querying APIs and clean up." 2012-02-01 13:45:24 -08:00
Scott Main
0f4dc8f7d7 am 414cc6cf: am 9af875ec: am 5e095939: docs: update menu guide with CAB and popup menu, plus many other revisions
* commit '414cc6cfcdb6d766d095f0af1da76e7da946af84':
  docs: update menu guide with CAB and popup menu, plus many other revisions
2012-02-01 11:51:53 -08:00
Scott Main
9af875ec74 am 5e095939: docs: update menu guide with CAB and popup menu, plus many other revisions
* commit '5e0959393426371dadef2c7905d5c915a1ac2dd4':
  docs: update menu guide with CAB and popup menu, plus many other revisions
2012-02-01 11:45:49 -08:00
Scott Main
5e09593934 docs: update menu guide with CAB and popup menu, plus many other revisions
Change-Id: I5faedd5f5b812ca58eb2085b0c036570de861f15
2012-02-01 11:40:49 -08:00
Xavier Ducrohet
d2726ba47e Add tools specific annotations to the API.
Those annotations are not runtime retention and have zero impact
on the device builds.

Change-Id: I18d905fccfe18eb621e1411d7ae7ba97910cc727
2012-01-31 15:56:40 -08:00
Dianne Hackborn
6c997a9e88 aapt now sorts the strings in the resource string pool.
In our current environment with very many translations, this can
save a lot of RAM -- for example over 200K in Gmail just by sorting
the strings in the Gmail .apk (not the framework).

Also add a new aapt command to print the contents of the resource
table string pool.

Change-Id: I1da037b3e2c377b890833ff57ab158965314ac48
2012-01-31 15:41:30 -08:00
John Reck
540643bff5 Support select all
external/webkit CL: 161648

Change-Id: I9cdff2e2e9a1e986ef10946924da85c7b577352b
2012-01-31 13:36:59 -08:00
John Reck
2bb2323d63 Merge "Webkit text selection" 2012-01-31 11:08:14 -08:00
Chet Haase
c1ca665827 Add new ViewPropertyAnimator utility methods
Users have requested the ability to sequence ViewPropertyAnimator
animations. it is not possible with AnimatorSet, which only takes objects
of type Animator (which VPA does not extend). But the AnimatorSet model
is not appropriate for VPA anyway, since it is not possible to set up
a VPA ahead of time to start later; it's just not the way that VPA is
intended to work.

Instead, there are now two new methods on VPA, onStart() and onEnd(). These
methods take a Runnable which is executed when the animation starts or ends.
These methods should allow other VPAs or other arbitrary code to execute at the
start or finish of any particular VPA animation, allowing simple sequencing
without the overhead of creating listeners and monitoring the cancelation status
of the VPA.

Additionally, this change adds a new method withLayer() which sets a hardware
layer on the VPA's target view for the duration of the animation. This
was already possible, but required writing boilerplate code to create a listener
and override the start/end methods to add and remove the layer. This utility method
makes this common use case much simpler and less error-prone.

Change-Id: I819978517e17c647ffb7028063cd0adde68ff691
2012-01-31 10:50:14 -08:00
Scott Main
0aa8f3b8db resolved conflicts for merge of 20d06540 to master
Change-Id: I80da9a11b4538c070b0000cfa3ea6cd865e46aef
2012-01-31 08:55:23 -08:00
Scott Main
20d06540e2 am 4b2eb9a5: Merge "docs: fix typos and clarify some grammar in summary external issue 21548" into ics-mr1
* commit '4b2eb9a50bbead0b756944ebffd01c89916896ad':
  docs: fix typos and clarify some grammar in summary external issue 21548
2012-01-31 08:40:59 -08:00
Ben Murdoch
145b340773 Merge "Remove code that quits the webcore watchdog thread." 2012-01-31 02:17:12 -08:00
Scott Main
6440534660 docs: fix typos and clarify some grammar in summary
external issue 21548

Change-Id: Ic38921cb64390b42651f3971efeb4b76101dfc14
2012-01-30 23:49:26 -08:00
Romain Guy
1e56fff3b9 Merge "Add debug markers to OpenGLRenderer" 2012-01-30 17:43:37 -08:00
Romain Guy
13631f3da8 Add debug markers to OpenGLRenderer
These markers will be used to group the GL commands by View in the
OpenGL ES debugging tool. This will help correlate individual GL
calls to higher level components like Views.

Change-Id: I73607ba2e7224a80ac32527968261ee008f049c6
2012-01-30 17:41:55 -08:00
Gilles Debunne
79e3e5f5d4 Merge "Removed SoftInputShownOnFocus methods in TextView" 2012-01-30 17:01:19 -08:00
Svetoslav Ganov
12df3cf156 Merge "Incorrect behavior of View clear focus." 2012-01-30 16:37:33 -08:00
John Reck
74ffdc30e0 Webkit text selection
Change-Id: Idec1ea19b773f100a88ebdb903a250ab923651d9
2012-01-30 16:10:54 -08:00
Gilles Debunne
e62beb5c20 Removed SoftInputShownOnFocus methods in TextView
Not used by Phone, for which it was initially created.

Change-Id: I0cad668f894e88cda0a410005aaf6b6c0b89dc3e
2012-01-30 15:10:41 -08:00
Romain Guy
a585e8dbcf Merge "Always initialize AsyncTask on the main thread." 2012-01-30 14:12:37 -08:00
Romain Guy
5e9120d4ad Always initialize AsyncTask on the main thread.
Change-Id: I039e5d6cb7157a0c8873e0d29161daf1cbda5577
2012-01-30 14:11:44 -08:00
Gilles Debunne
a821733059 Merge "Remove onPreDrawListeners earlier in TextView" 2012-01-30 12:58:53 -08:00
Romain Guy
69726597b3 Merge "Add stencil buffer to the EGL config" 2012-01-30 12:05:28 -08:00
Romain Guy
530041d319 Add stencil buffer to the EGL config
Change-Id: If76c0cd6127534d90f9526b75c0f8e56259c6722
2012-01-30 12:04:17 -08:00
Ben Murdoch
b5622b6008 Remove code that quits the webcore watchdog thread.
The WebCore thread lives forever ergo so should the
watchdog.

Bug: 5920210
Change-Id: I2596a4cc4720c4e09265b9a875680bb7891bd919
2012-01-30 20:01:41 +00:00
Jeff Sharkey
5e61331da5 Move away from deprecated NetworkInfo extra.
Because the NetworkInfo included in CONNECTIVITY_ACTION broadcast
extra does not reflect the state applicable to the calling UID, and
the last sticky broadcast may have stale state, transition to calling
ConnectivityManager.getActiveNetworkInfo() directly.

Change-Id: I86b316fbedd0273585ad5f1248b091bc3a3a5520
2012-01-30 11:21:35 -08:00
Chet Haase
c7685d6d6e Merge "Fix bug in LayoutTransition for INVISIBLE views" 2012-01-30 08:28:18 -08:00
Marco Nelissen
f3a3b9ec9c Merge "Handle adding/removing/renaming nomedia paths" 2012-01-30 08:27:57 -08:00
Chet Haase
0d29936ec3 Fix bug in LayoutTransition for INVISIBLE views
When a view is becoming VISIBLE or INVISIBLE in a container with a
LayoutTransition, animations run to fade the view in and out and also
to run 'changing' animations on the view's other siblings. This logic
also cancels any running 'changin' animations to account for new ones
running.

However, in the specific case of INVISIBLE changes, there will be no
layout changes in the container - layout has already accounted for that
view (unlike in the case of GONE views); the visibility is just a matter of
drawing the view (or not). Therefore, we're canceling 'changing' animations
that should continue running and not replacing them with any other animations,
since new animations would only be started on layout chnages which are not
forthcoming.

One artifact seen from this bug is that the navigation bar buttons sometimes
disappear when changing orientation. This is because the menu button may
toggle between VISIBLE and INVISIBLE, causing animations on the other
buttons to get canceled, which leaves those views in a completely wrong
state.

The right thing to do is to avoid canceling in-process 'changing' animations
and to skip the logic of setting up new 'changing' animations which won't fire
anyway.

There is some minor API work in here because we did not previously have the
necessary information in LayoutTransition to know whether a view was being
hidden or shown to/from the INVISIBLE state.

Issue #5911213: LayoutTransitions ending in an odd state

Change-Id: I5c60c8583c8ea08965727b4ef17b550c40a3882c
2012-01-30 07:53:59 -08:00
Gilles Debunne
2e37d62926 Remove onPreDrawListeners earlier in TextView
Bug 5556478

Launcher pre-populates its all apps and widget pages with their
content, which includes text. The layout calls some onMeasure methods
that trigger TextView's registerForPreDraw(), which in turns adds a
listener in the ViewTreeObserver.

However, some of these pages may never be actually displayed, leaving
the listeners in the list since onDraw() is never called.

As a result, every frame displayed by launcher is slowned down by this
array copy of 6-18 listeners.

The problem is not Launcher specific since other applications may use
a similar caching mechanism.

The solution is to unsubscribe the listener in onPreDraw.

The drawback is that several successive calls to registerForPreDraw() will
add/remove the some listener object. However, these calls are rare and are
relatively cheap since we're just adding the object in and out of an
ArrayList which should not need to change its size.

Change-Id: Ifb65655a27e302d31a2ad622d18f839aec99689e
2012-01-27 18:39:07 -08:00
Jeff Brown
2d2d7d6f42 Merge "Implement a cancelation mechanism for queries." 2012-01-27 17:37:24 -08:00
Jeff Brown
75ea64fc54 Implement a cancelation mechanism for queries.
Added new API to enable cancelation of SQLite and content provider
queries by means of a CancelationSignal object.  The application
creates a CancelationSignal object and passes it as an argument
to the query.  The cancelation signal can then be used to cancel
the query while it is executing.

If the cancelation signal is raised before the query is executed,
then it is immediately terminated.

Change-Id: If2c76e9a7e56ea5e98768b6d4f225f0a1ca61c61
2012-01-27 17:33:21 -08:00
Marco Nelissen
ca78f3d9af Handle adding/removing/renaming nomedia paths
b/5849015
Change-Id: I3ec7419498d1ecc83db6d4605b3d7610349231f7
2012-01-27 15:10:14 -08:00
Gilles Debunne
566e8baf43 Merge "Fix for IOOB when suggestions have disappeared" 2012-01-27 13:54:50 -08:00
Gilles Debunne
ea1181220d Merge "Handle tap and move cursor before showing suggestions" 2012-01-27 13:54:42 -08:00
Teng-Hui Zhu
913917449d Merge "Revert "Hack to workaround the fact that the EGL context can be"" 2012-01-27 13:48:25 -08:00
Nick Pelly
d343bb9692 Merge "Fix doc bug." 2012-01-27 11:03:57 -08:00
Nick Pelly
d3cb80d2af Fix doc bug.
Change-Id: Ib7361abb0461d4295e889c505dd45e3a40193451
2012-01-27 11:03:05 -08:00
Nick Pelly
ef78d96b90 Merge "Add NdefMessage.getByteLength(), and more minor fixes:" 2012-01-27 09:59:10 -08:00
Alon Albert
815af1ff59 Merge "Throw NPE if s is null" 2012-01-26 17:05:58 -08:00
Chet Haase
23fb7dc7c7 Merge "Fix old issue with compatibility-scaled apps and Animations" 2012-01-26 15:53:03 -08:00
Geremy Condra
838a0e0ed8 Merge "Removed intent logging from SearchDialog.java" 2012-01-26 15:06:18 -08:00
Alon Albert
11afa8a466 Throw NPE if s is null
Bug: 5926510
Change-Id: I3d0a38d31695a8b103b3d153d90d83474f56990e
2012-01-26 14:25:19 -08:00
Nick Pelly
1f5badc1cb Add NdefMessage.getByteLength(), and more minor fixes:
Remove NdefMessage from dispatch(). It's already in the Tag.
/*package*/ cleanup
Fix sitemap after removal of NFCDemo

Change-Id: Ie1f6d9ea98144aa97f56bb709a33f5d0ef916e8b
2012-01-26 14:21:19 -08:00
Gilles Debunne
e93c51713c Merge "Modified algorithm to remove duplicated suggestions" 2012-01-26 14:09:20 -08:00
Chet Haase
53f2d55740 Fix old issue with compatibility-scaled apps and Animations
Previously, we'd pass in a scale factor (based on whether the app was
being scaled by the compatibility mode) to Animation.getTransformation().
This scales the pivot point of the animation based on thes cale factor.
However, the pivot points were already using information that took the
compatibility mode scale into account. For example, using ABSOLUTE and basing
pixel values on the width/height of the view would give you values relative to the
width/height of the view (pre-scaled). Using RELATIVE_TO_* would use percentages
for the pivot point, again taking the scaling of the view into account. So scaling
the pivot point added in another scale on top of that already being applied.

The net effect was to scale the pivot point in cases where it should not be scale.
For example, setting a pivot point to half-way (.5 and RELATVE_TO_SELF) would
end up with an animation that would pivot around the bottom/right of the view.

The fix is to simply remove the scale factor being passed in; we've already accounted
for it in the pivot point, so we shouldn't concatenate it into the transform
calculated by the animation.

Change-Id: I9daa7581b1b9d0dfb10515e96947160c28c5130e
2012-01-26 12:44:46 -08:00
Svetoslav Ganov
c6fd88e213 Incorrect behavior of View clear focus.
The framework tries to have a focused view all the time. For
that purpose when a view's focus is cleared the focus is given
to the first focusable found from the top. The implementation
of this behavior was causing the following issues:

1. If the fist focusable View tries to clear its focus it
   was getting focus but the onFocusChange callbacks were not
   properly invoked. Specifically, the onFocusChange for
   gaining focus was called first and then the same
   callback for clearing focus. Note that the callback
   for clearing focus is called when the View is already
   focused. Also note that at the end the View did not
   clear its focus, hence no focus change callbacks
   should be invoked.

2. If not the first focusable View tries to clear focus,
   the focus is given to another one but the callback
   for getting focus was called before the one for clearing,
   so client code may be mislead that there is more than
   one focused view at a time.

3. (Nit) The implementaion of clearFocus and unFocus in ViewGroup
   was calling the super implementaion when there is a
   focused child. Since there could be only one focused View,
   having a focused child means that the group is not focused
   and the call to the super implementation is not needed.

4. Added unit tests that verify the correct behavior, i.e.
   the focus of the first focused view cannot be cleared
   which means that no focus change callbacks are invoked.
   The callbacks should be called in expected order.
   Now the view focus clear precedes the view focus gain
   callback. However, in between is invoked the global
   focus change callback with the correct values. We may
   want to call that one after the View callbacks. If
   needed we can revisit this.

Change-Id: Iee80baf5c75c82d3cda09679e4949483cad475f1
2012-01-25 23:38:31 -08:00
Gilles Debunne
7af1f9669b Fix for IOOB when suggestions have disappeared
This new test is required since the suggestion popup is now triggered by a
Runnable. We have to make sure there is still at least one SuggestionSpan
at that position.

Change-Id: I5c84ba0ca412f51a0201bee5c2e63b5bd3717338
2012-01-25 17:06:38 -08:00
Teng-Hui Zhu
99b46be97b Merge "Make sure WebView get notified before the EGL context destroyed." 2012-01-25 16:53:05 -08:00
Dianne Hackborn
52da22f273 Merge "Add xxhdpi; fix ActivityManager.getLauncherLargeIconSize() etc." 2012-01-25 16:15:43 -08:00