• Home
  • History
  • Annotate
  • only in /frameworks/base/core/java/com/android/internal/view/
History log of /frameworks/base/core/java/com/android/internal/view/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
808fe6f99fba753e0ec4c5e90de0ff7a2140e8a6 03-Nov-2014 Adrian Roos <roosa@google.com> Merge "Fix colored status bar panning issues" into lmp-mr1-dev
9c79504225f60c72c947220b6aca928f11279e1c 29-Oct-2014 Craig Mautner <cmautner@google.com> Add enter-animation-done callback for system windows

Existing hidden methods allow activities to be notified when their
windows have completed animating in. This change adds that capability
to system windows using a ViewTreeObserver callback since system
windows lack an activity token.

The first subsystem to use this is the UserSwitchingDialog which was
previously using a 250 msec timeout to dismiss the dialog. That
deadline was often missed leaving the user with no dialog on the
screen during the transition.

Fixes bug 16661752.

Change-Id: I70789e0d9c07112f275e76fb82850926305f290d
0e7ae4efe8f424fa1ced8f7e5f3d8ae78066592b 01-Oct-2014 Adrian Roos <roosa@google.com> Fix colored status bar panning issues

Bug: 17695293
Change-Id: I6a1267f8dff27e7b78ab312a71648ef16ab9483b
e38eb4d4ef504c0b72d51dfcc8fcd06cf73c0d50 23-Oct-2014 Alan Viverette <alanv@google.com> Revert "Check MenuItem.isVisible() for keyboard shortcuts"

Just kidding we do want this to work like it used to.

This reverts commit e354a9e4da56da45d7035e1e93301554c5faf32e.

Change-Id: Ia51050a93e25c1ad16144b0da3f6178a98ad971a
e354a9e4da56da45d7035e1e93301554c5faf32e 21-Oct-2014 Alan Viverette <alanv@google.com> Check MenuItem.isVisible() for keyboard shortcuts

Parity with support-v7 change.

BUG: 18021345
Change-Id: I583b586d451a21bbd207d2b0584a396e1125ee59
29632521c36548d71b610fc4de864281bab4dfb4 16-Oct-2014 Alan Viverette <alanv@google.com> Add style support to PopupMenu, clean up constructor javadoc

BUG: 18002523
Change-Id: Ice492686b814460248ccbe9727c64dd002e7ed7a
a9ddb8dc23b253c53f24ceb81e9d596c072d834e 18-Sep-2014 Alan Viverette <alanv@google.com> Use action bar theme for action modes, fix ViewStub inflation theme

BUG: 17262483
BUG: 17513621
Change-Id: I74764570a11da162a224e94978e21e52d17e2e84
3fadee479107f0494e1e190aba2a1eea12cb0a75 08-Sep-2014 Yohei Yukawa <yukawa@google.com> API Review: Clean up removed APIs

This CL removes old API signatures marked as @removed
in the follow CLs.
- Ic8c6fab58c01206872a34e7ee604cdda1581364d
- Ia8cbb9f6b41cd9509fc0147fd68763dfde593ffc
- I772c48ff18918e48a81e807b48ff907614485c09

This is just a clean-up CL. No behavior change is intended.

BUG: 17200900
BUG: 17320996
BUG: 17365414
Change-Id: Ibfbd5cc1cdebb8851c73477cff55c9b2d631fdea
d8636ea7ca78df83d6b04088eab7853f15f3e999 03-Sep-2014 Yohei Yukawa <yukawa@google.com> API Review: InputConnection

This CL does nothing but rename some L API candidates
in InputConnection class, as per requested.

- requestUpdateCursorAnchorInfo()
-> requestCursorUpdates()

BUG: 17320996
Change-Id: I772c48ff18918e48a81e807b48ff907614485c09
1960b324345cd4b1808393a783ec4b84be9dd7de 22-Aug-2014 Yigit Boyar <yboyar@google.com> Merge "Fix RTL bug for actionbar tooltips" into lmp-dev
a277db28e990d1f6f74ace0c32fe92401660a840 22-Aug-2014 Yohei Yukawa <yukawa@google.com> Remove CursorAnchorInfoRequest and related stuff

This CL removes CursorAnchorInfoRequest and related stuff
in favor of InputConnection.requestUpdateCursorAnchorInfo,
which is more easy to understand. This CL also deprecates
InputMethodManager#updateCursor and related stuff.

1. The spec of #updateCursor says that it provides the cursor
position in local coordinates, while the input method
requires it in the screen coordinates.
2. #updateCursor has never been enabled in AOSP, because
InputMethodManager#isWatchingCursor always returned false.
3. There has been no way to let
InputMethodManager#isWatchingCursor return true.
4. In L, InputMethodManager#updateCursorAnchorInfo is
introduced to address all the issues above.

Given that we no longer need to support #updateCursor,
CursorAnchorInfoRequest is overkill when we need to convey
just a couple of parameters.

BUG: 17185263
BUG: 17182367

Change-Id: I4a577bfd02b37b9e56c80b8b41bb25afa95dd8ef
d719539f91d4f5cf6c0f9be0b68b750dcd443433 22-Aug-2014 Yigit Boyar <yboyar@google.com> Fix RTL bug for actionbar tooltips

Bug: 12570378
Change-Id: I13ba94c8b736a3a80a8d79e95bd18b93a1157303
0023d0e0c4f5339b299d1eacbd4e7181c2fd271f 10-Jul-2014 Yohei Yukawa <yukawa@google.com> Polish new IME API for L part 2: CursorAnchorInfo

This CL addresses feedbacks from internal customers for new
input method APIs that are mainly used for physical keyboard
support in L.

For performance reasons, #onUpdateCursorAnchorInfo is not called
back by default and each input method has to enable this
event notification explicitly whenever fine-grained character
locations are needed.

In L-preview, InputMethodSession#setCursorAnchorMonitorMode was
introduced for this purpose. However, we got several feedbacks
to be addressed.
- The effect of #setCursorAnchorMonitorMode is not preserved
during focus change. IMEs need to call
#setCursorAnchorMonitorMode every time when #onStartInput is
called. This is tricky and hard to understand.
- As #onUpdateCursorAnchorInfo is a new API, not all
applications/text editors have supported it. Therefore IMEs
can't always rely on it. However, there is no way to query
if the attached target is supporting this new API or not.
It would helpful for IME authors if we can provide a
reliable way to query if the attached input target is
supporting the new API or not.

In order to address these issues, the triggering method has
moved from InputMethodSession to InputConnection in this CL,
as an analogy of existing InputConnection#getExtractedText API,
which has provided similar functionality including optional
reactive event callbacks from the application to the IME.

BUG: 15812658
BUG: 16118603
Change-Id: I3c6b69bd9d79b199afe68d838f25effa6048e5cc
3d0f21dab8d891b9aebdd5277348d549eeb843e6 11-Jul-2014 Alan Viverette <alanv@google.com> API for inflating action bar menus against a different theme

BUG: 16162344
Change-Id: I5bf9f133de56a1830028bca6326cc2c50888a052
fa10423fa00f3495e451016acba9b6848eb995c9 21-Jun-2014 Adrian Roos <roosa@google.com> Add stable insets for stable system windows

Adds a new kind of inset that only accounts for stable system
windows like the system or navigation bar.

Bug: 15457292
Change-Id: I681b711f6f40a94c25b7acd3a44eb3539486afab
cb923d99e9ec2f7b6b40a7c89c83a6caaa03b016 01-Jul-2014 Chet Haase <chet@google.com> null-check before derefing title in MenuItemImpl

The toString() method in MenuItemImpl returns mTitle.toString(),
which crashes when the title is null (which it can be, since there
is no requirement that a title be non-null, and you can get one
by simply not assigning a title to begin with or by setting it
to null).

Issue #13420311 MenuItemImpl can't handle a null title

Change-Id: I701d1d565f1d254ffdd41ca64c1abaf2906edb79
3d1e8129ebd69db49d80e5d598f608c59b884cdf 06-Jun-2014 Yohei Yukawa <yukawa@google.com> Introduce a sequence number to avoid redundant IPCs

This CL introduces a sequence number to avoid redundant IPCs
between IMM and IMMS. The basic concept is that:
1. IMMS maintains a sequence number for #notifyUserAction.
2. IMMS increases the sequence number whenever the current
IME/subtype is changed.
3. IMMS notifies the new sequence number to IMM.
4. IMM maintains the last sent sequence number and the next
sequence number. IMM should call #notifyUserAction only
once per particular sequence number.
5. IMMS ignores #notifyUserAction if the specified sequence
number is not the expected one.

BUG: 7043015
Change-Id: I19ad8542659bc092b92ee13eb9f1d68ddd4b815a
0297051162193ef2b7d906409868e404f77e4c31 05-Jun-2014 Yohei Yukawa <yukawa@google.com> Trivial method renaming for notifyTextCommitted

This CL does not change existing behavior but only renames
notifyTextCommitted with notifyUserAction so that we can use
not only text commit but also other actions such as just typing
a character will be used as a trigger to update the IME
rotation order for better IME switching experience.

BUG: 7043015
Change-Id: I7f3e13a7226ef0dceee82b67e8a0d8536f7e9807
918988c1ce5af002d41c7ac37f3fa490558b0c90 19-May-2014 John Reck <jreck@google.com> Baby steps

Run ViewPropertyAnimators with no listeners on the RenderThread

Change-Id: I7ff5300db96c7f4b59b09e3fff8a0df173f132dd
ad2f8e334f3ef22d3e412b0660a2e1f996f94116 16-May-2014 Alan Viverette <alanv@google.com> Update ripple behavior, use render thread animation

Change-Id: Ib6bc1e08b05d29606f452961963d58b8fc866746
c8ac775659fd252ce2cc9a61837c170ff70f0a1a 13-May-2014 John Reck <jreck@google.com> More native interpolators

Gotta collect 'em all

Change-Id: I3ccc2b5c842b27b906c8a0470fbedc2bf285bc38
315c329544d7c593d1072b071cbb92d9afe74021 10-May-2014 John Reck <jreck@google.com> Add TimeInterpolator support to RNA

Bug: 14678626

Change-Id: I6554e7fcd42c49fac3618ca792083bb68e358f55
c2ddd6023688db5ecf6c586e05f55e262b4a802e 06-May-2014 Yohei Yukawa <yukawa@google.com> Introduce new API for floating window support

This CL introduces a new API IMM#updateCursorAnchorInfo for
floating window support.

BUG: 14579622
Change-Id: I61dec2f8fa671ba891da1d4af08975750e3acb04
560f17098f90b15c8894cce127f2fed85f7aeb6b 05-May-2014 Alan Viverette <alanv@google.com> Add support for popups overlapping anchors

BUG: 14471731
Change-Id: I16e8d76caedfebd0c38b8c0b22cd9619d70877c8
1001961f904bac5294aaf73a47c2497aa764bf7f 18-Apr-2014 Deepanshu Gupta <deepanshu@google.com> Add view cookies for action bar menus.

The change adds the view cookies for the menus rendered in the action
bar. This enables the IDE to map the menu to the relevant XML Tag in the
menu xml and show the highlighting accordingly.

Change-Id: Idcfc263a8ebe0a4f25afa3a1eb085fa628fd03ca
15b0bef9250e084bfbceb388716d28ed62ca018f 12-Apr-2014 Jeff Brown <jeffbrown@google.com> am 9e2fde9c: am d912e1f6: Use the display\'s actual state in the view hierarchy.

* commit '9e2fde9c8a3557d6e8d1f3971a421ecdf5c2ce07':
Use the display's actual state in the view hierarchy.
d912e1f6a111fb33118d116bd72da1a328041bca 12-Apr-2014 Jeff Brown <jeffbrown@google.com> Use the display's actual state in the view hierarchy.

Previously, the view hierarchy would suppress drawing whenever the
PowerManager.isScreenOn() method returned false. However, this method
really describes the interactive state of the device rather than the
actual display state. This is especially a problem when there are
multiple displays but it also breaks drawing while in doze mode.

This change makes the view hierarchy consider the actual state of the
display instead on an individual basis.

Bug: 13133142
Change-Id: I69870b6b14a3504607a30562aa48c3452f777c1f
59fee2d5534965f0986e68e0c3562da5e65e6c45 08-Apr-2014 Yohei Yukawa <yukawa@google.com> Merge "Allow IMEs to start/stop receiving onUpdateCursor callback"
e43340c80dc66c45edc793ecd0343774aa34d108 18-Mar-2014 Adam Powell <adamp@google.com> android.widget.Toolbar

Add the new Toolbar widget for use in app layouts.

ActionBar can now be used as a point of control for either a
traditional window decor action bar or for a Toolbar that appears
inline in an Activity's layout.

ToolbarActionBar is currently WIP.

Change-Id: I0da093e5645840f4fd032aa34efa0ae5f1825ff2
b7b7907fb5e4b2252b3c594a6bc4402217fe662a 25-Mar-2014 Yohei Yukawa <yukawa@google.com> Allow IMEs to start/stop receiving onUpdateCursor callback

This CL introduces an API which allows IMEs to start/stop
receiving onUpdateCursor callback upon their request.

BUG: 13388665
Change-Id: I987326872def181dda5d9d701b762f088e0d9c39
77943308f5661636d85cb5e78188dbbc8f0e329e 14-Mar-2014 Yohei Yukawa <yukawa@google.com> am fd2f8d43: am 51b921d0: DO NOT MERGE - Preserve the order of InputMethodManager method calls

* commit 'fd2f8d43419d1f25ced8b2bac96407925dd4c471':
DO NOT MERGE - Preserve the order of InputMethodManager method calls
51b921d0e33302b3f431dcfa15bd6588408525ea 05-Mar-2014 Yohei Yukawa <yukawa@google.com> DO NOT MERGE - Preserve the order of InputMethodManager method calls

Cherrypick of I0f8d33b0c77129f72581bc43e7f4fdc25469b520

This CL allows the Framework class InputMethodManager to behave
in a more deterministic way, that is to say, with an I/O barrier.

InputMethodManager#setAdditionalInputMethodSubtypes is internally
implemented as a RPC to the corresponding counterpart in
InputMethodManagerService. The problem here is that this RPC is
marked as "oneway". As a consequence, this public API call
returns immediately without waiting the additional subtypes are
actually added. This behavior is also not documented so far

See the following demo code:

Final InputMethodManager imm = ...;
imm.setAdditionalInputMethodSubtypes(id, subTypes);
Final List<InputMethodInfo> ims = imm.getInputMethodList();

Currently, it is not guaranteed that the InputMethodInfo returned
from #getInputMethodList reflects the result of the previous call
of #setAdditionalInputMethodSubtypes because of its undocumented
asynchronous nature.

With this CL, InputMethodManager#setAdditionalInputMethodSubtypes
behaves as if it has I/O barrier. This change should make it easy
for IME developers to use additional subtype mechanism.

BUG: 13033954
BUG: 13291370
Change-Id: I0455b176bfb3176c533ba3241881f05092b98abc
68ec033b7c9ea28155bbb007b01d5dbce2239392 13-Mar-2014 Adam Powell <adamp@google.com> am 75958c29: am 3a153c0d: Merge "Fix a bug in submenu presenter priority handling" into klp-dev

* commit '75958c298477a3d1e556c4fe36e516b9e828c311':
Fix a bug in submenu presenter priority handling
de69575dd1bdafabda8afda8b4251b830ba0c551 12-Mar-2014 Yohei Yukawa <yukawa@google.com> Merge "Preserve the order of InputMethodManager method calls"
190909f2c1b47a0ac9e50a2012cc8eae34391fa7 04-Dec-2013 Adam Powell <adamp@google.com> Fix a bug in submenu presenter priority handling

Now that overflow menus and the PhoneWindow-level ListMenuPresenter
can coexist, make sure that ListMenuPresenter handles submenus spawned
by itself. Introduce an internal API for menus to prefer a specific
presenter when performing item actions.

Bug 11979407

Change-Id: Id0b8fcbb8b310cbb3a63a1e5ea7a89de5d53f86f
71c8fb92a151f2f64ffbaf551c072179bc46c0da 07-Mar-2014 Jeff Brown <jeffbrown@google.com> am 2b27ef97: am c969450a: am 840c8474: Merge "Add config_supportAutoRotation." into klp-modular-dev

* commit '2b27ef979dba3808cdae6dce32fe27b59197e34c':
Add config_supportAutoRotation.
bcdfc62ae3ac3809e883fc0b4c71ab52a0cdacf8 07-Mar-2014 Jeff Brown <jeffbrown@google.com> Add config_supportAutoRotation.

On some products, it may not make sense to use the accelerometer
to perform auto-rotation. In that case, the product's config.xml
framework resource overlay should set config_supportAutoRotation
to false.

Setting this to false also disables auto-rotation settings.

Bug: 13211999
Change-Id: If9d7d72f2a2c576b14a4ff0afb61ea52c42c3357
c9e5f540a954a878365e88e42f78800d4eafa188 10-Jan-2014 Adam Powell <adamp@google.com> Fix a bug where OnTouchListeners in action views could be removed

ActionMenuPresenter should only replace the touch listener when binding
a generated item view.

Bug 12470259

Change-Id: I8c4c6110065605225a20cb7ed872255282085661
f06569561fe1c6e898debf8bb9f37331a9f87323 03-Mar-2014 Yohei Yukawa <yukawa@google.com> Introduce InputMethodSubtypeArray for memory efficient IPCs

This CL introduces InputMethodSubtypeArray which compresses
multiple instances of InputMethodSubtype to reduce the risk
of TransactionTooLargeException during IPCs.

There are some IMEs which rapidly adding new subtypes into
their supported language list. One problem here is that each
instance of InputMethodInfo internally owns the list of
supported subtypes. Basically it requires additional
200 ~ 300 bytes for each subtype when InputMethodInfo is
transffered via IPCs. We should keep the size less than
100 KB in typical scenario.

With this CL, the list of InputMethodSubtype is marshalled
with GZIP compression. Approximately one InputMethodInfo is
marshalled within 10 KB even when it has 100 subtypes.

No negative performance impact is observed so far. The cost of
decompression seems to be compensated by another optimization
in this CL. Actually marshalling cost is reduced with this CL
by caching the compressed data on demand.

BUG: 12954290
Change-Id: Ibb2940fcc02f3b3b51ba6bbe127d646fd7de7c45
9e9fbb26395eb983e17a415cf78b3c2ee060ee0e 05-Mar-2014 Yohei Yukawa <yukawa@google.com> Preserve the order of InputMethodManager method calls

This CL allows the Framework class InputMethodManager to behave
in a more deterministic way, that is to say, with an I/O barrier.

InputMethodManager#setAdditionalInputMethodSubtypes is internally
implemented as a RPC to the corresponding counterpart in
InputMethodManagerService. The problem here is that this RPC is
marked as "oneway". As a consequence, this public API call
returns immediately without waiting the additional subtypes are
actually added. This behavior is also not documented so far

See the following demo code:

Final InputMethodManager imm = ...;
imm.setAdditionalInputMethodSubtypes(id, subTypes);
Final List<InputMethodInfo> ims = imm.getInputMethodList();

Currently, it is not guaranteed that the InputMethodInfo returned
from #getInputMethodList reflects the result of the previous call
of #setAdditionalInputMethodSubtypes because of its undocumented
asynchronous nature.

With this CL, InputMethodManager#setAdditionalInputMethodSubtypes
behaves as if it has I/O barrier. This change should make it easy
for IME developers to use additional subtype mechanism.

BUG: 13033954
BUG: 13291370
Change-Id: I0f8d33b0c77129f72581bc43e7f4fdc25469b520
8eea3ea5591e59f55cbb4f6b2b7e9363a285ced3 04-Feb-2014 Alan Viverette <alanv@google.com> Add APIs for obtaining themed Drawable from Theme, Context

BUG: 12611005
Change-Id: Ic0057be4e4c2d0c61ce02a019b3f7d0625e3a016
56110725f2a0b3f09703f2cbe9705d97609ee1e5 10-Jan-2014 Alan Viverette <alanv@google.com> Move drag-to-open handling into ActionMenuItemView

This prevents the menu item's OnClickListener from being overwritten,
allows the client to override item invocation, and prevents showing
multiple popups when items are re-initialized.

BUG: 11969895
BUG: 12489213
Change-Id: I97ca737810073df348171cdba5442f24a5527f89
efc3bb06127a6640afe4985b2b2fc03c5ecc5dee 10-Jan-2014 Adam Powell <adamp@google.com> Fix a bug where OnTouchListeners in action views could be removed

ActionMenuPresenter should only replace the touch listener when binding
a generated item view.

Bug 12470259

Change-Id: I8c4c6110065605225a20cb7ed872255282085661
fa18d182a3f37505940e73ae6cd76c2e939f7f7c 08-Jan-2014 Adam Powell <adamp@google.com> Move ActionMenuView into android.widget and make it public

Expose ActionMenuView as a way for applications to present
ActionBar-style menus in other embedded or repeating contexts.

Change-Id: I54b7ccd9b2116ca68bc72956da9262bca9d5085f
8ab172e8d9c2e926921bb52838c2322142fb3c65 19-Dec-2013 John Spurlock <jspurlock@google.com> Add rotation-lock to Quick Settings on phones.

Make the rotation-lock QS tile available for display on phones.

Devices < sw600dp are only allowed to lock rotation to their
natural orientation (i.e. portrait on most phones), so tweak
the QS tile label to make this clear. e.g. "Locked to Portrait"
instead of "Rotation Locked" on portrait phones.

Simplify RotationLockController now that the sw600 check is no
longer hardcoded in RotationPolicy.

Remove redundant sw600dp check in SystemUI, everything driven
from the RotationPolicy helper, though SystemUI can still
choose not to display the tile at all with a resource config.

Clean up some of the docs in RotationPolicy to make clear the
subtle distinction between the two ways of locking rotation:
- From Accessibility (locks to natural orientation on all devices)
- From System UI (locks to natural < sw600dp, else current rotation)


Change-Id: I5caa4485c9501315da9fed964d6667d3012b43cb
c0cc68053e5013c207be6f64ffd2ad9e8c467def 04-Dec-2013 Adam Powell <adamp@google.com> Fix a bug in submenu presenter priority handling

Now that overflow menus and the PhoneWindow-level ListMenuPresenter
can coexist, make sure that ListMenuPresenter handles submenus spawned
by itself. Introduce an internal API for menus to prefer a specific
presenter when performing item actions.

Bug 11979407

Change-Id: Id0b8fcbb8b310cbb3a63a1e5ea7a89de5d53f86f
6090995951c6e2e4dcf38102f01793f8a94166e1 19-Nov-2013 John Spurlock <jspurlock@google.com> Remove unused imports from frameworks/base.

Change-Id: Ia1f99bd2c1105b0b0f70aa614f1f4a67b2840906
b530aeb0feab5d371684ee8040b2f11e654ae4df 12-Nov-2013 Jeff Brown <jeffbrown@google.com> resolved conflicts for merge of f0b9ee96 to master

Change-Id: I1b347e895049474e11076c60074dc5918cfe1405
0abd3a6ce83ed23abe614155e776b600ef2a66c3 10-Nov-2013 Jeff Brown <jeffbrown@google.com> Update the media router dialogs and integrate into system UI.

Port the new style UI back into the framework from the support library.
There are now two dialogs: a chooser and a controller. We use the
same dialogs for selecting routes within app and within quick settings.

Note that the new UI does not support any grouping features since they
are deprecated and unused.

Bug: 11257292
Change-Id: I64e936a18d25ab75f0c470cbc1e7085f67004863
307182870ddbfc32ab3b18e697ab85c8e88a4fe5 05-Nov-2013 Adam Powell <adamp@google.com> am a20bfd96: am fe803958: am 1262d0c8: Merge "Fix action menu visibility callbacks for nested popups" into klp-dev

* commit 'a20bfd96bae95bd54b20ebd184655d7211cedcb4':
Fix action menu visibility callbacks for nested popups
b411b32861e7794a59fa7558dbe9d97407eccf23 02-Nov-2013 Adam Powell <adamp@google.com> Fix action menu visibility callbacks for nested popups

When opening a submenu from a popup in ActionMenuPresenter, delegate
the submenu callbacks to the presenter callback registered on the
ActionMenuPresenter. This allows menu visibility callbacks to
propagate properly so that apps that hide their action bars after a
timeout can detect open menus that are deeply nested.

Bug 11429613

Change-Id: I3332886f08d4f9010f0875057c457566301d12ec
d7443c83ceae0bdd20d68bf84648cf3b40115d85 15-Oct-2013 Satoshi Kataoka <satok@google.com> Notify commitText event to InputMethodManagerService

for the intelligent subtype switching

Bug: 7043015
Change-Id: I11ed9a767588f8080753cd9bce011dac7db579ad
658c7b896a751b971db1292d86655dbb97f00067 10-Oct-2013 Satoshi Kataoka <satok@google.com> Introduce an API to get the recommended height of the InputMethodWindow

Bug: 11035379
Bug: 5137498

Change-Id: I0e920ee79c526c3aea6872b063cf294e2ab081c8
d2d0b5843d3c88d881c67d165bf2539dcda6e8a9 11-Oct-2013 Adam Powell <adamp@google.com> am 7b3cdb0f: am 6f090af3: am ebd1dca5: Merge "Re-enable ActionMenuPresenter view recycling" into klp-dev

* commit '7b3cdb0fb7cd7fab647de09e6a64ce59555ed733':
Re-enable ActionMenuPresenter view recycling
c3ca3ea3a937a20666e4f01fb1a9efb503ec274e 11-Oct-2013 Adam Powell <adamp@google.com> Re-enable ActionMenuPresenter view recycling

Since action bar transitions are turned off again for now, re-enabling
item view recycling fixes an unfortunate regression with submenus.

If a menu view is invalidated while a submenu is open we need to keep
its anchor consistent. With view recycling active we preserve status
quo and the previous anchor view instance for the popup window remains
in place.

In the future this will need to get more sophisticated;
ActionMenuPresenter will need to re-parent an open submenu against the
proper anchor view by menu item id. But that is a change for another

Bug 11174504

Change-Id: I7e8a444f6996ec95417d20e87938f496e9c3a4dd
e580a2f1a16f125862357af9778e9d73594d4398 04-Oct-2013 Adam Powell <adamp@google.com> am bf7116a9: am 049e663c: am 8c5b15c6: Merge "Fix a bug in action menu measurement" into klp-dev

* commit 'bf7116a9ddeff368b6a33fabfaa82ce974d5ee0d':
Fix a bug in action menu measurement
da9710806bc7874b8c553f4daf9cf14f35ae1b07 04-Oct-2013 Adam Powell <adamp@google.com> Fix a bug in action menu measurement

Thanks to a measurement optimization in KK, the view recycling
behavior of ActionMenuPresenter could get into a state where the
resulting ActionMenuView had changed but no layout was
requested. Explicitly request a layout during menu update. Also fix an
ancient typo.

Bug 11047996

Change-Id: I6289fd2d142ac7d2101fbec6de19b7d3d7fbd6a2
66d1cd9da1f5bd3aa3c70a28cbd6bd8801049ace 30-Sep-2013 Adam Powell <adamp@google.com> am 8fb6d97a: Merge "Add gravity settings to PopupWindow/ListPopupWindow/PopupMenu" into klp-dev

* commit '8fb6d97ad5671b4abc1940d8bc56cf7448e45c35':
Add gravity settings to PopupWindow/ListPopupWindow/PopupMenu
54c94dea8a26e66fa59a31fd9170ca221052d3aa 27-Sep-2013 Adam Powell <adamp@google.com> Add gravity settings to PopupWindow/ListPopupWindow/PopupMenu

Allow calling code to specify left/right/start/end gravity when
showing a popup attached to an anchor. This allows easy alignment of
either the right or left edges of the popup and anchor view.

Bug 10728401

Change-Id: Ie0844a04ea0576fa67b0972f5873aaa4c5b823f6
e4039cc6bce84c1aded1ea7e18a013aa71c40615 24-Sep-2013 Chet Haase <chet@google.com> am 5c69fd7d: am cfdc0369: Merge "Disable ActionBar usage of transitions" into klp-dev

* commit '5c69fd7d36af2d186fa3b654cf8b3e6eeb5596b9':
Disable ActionBar usage of transitions
d8d7c38533d20062166e5e7ef89b80ff9dbd8903 23-Sep-2013 Chet Haase <chet@google.com> Disable ActionBar usage of transitions

Various artifacts across apps were coming from ActionBar's use of
the new transitions framework. Disabling transitions for now to get
things back to a more stable state.

Also, fixed some related bugs in transitions themselves, including
a change in TextChange to account for text selection, which was causing
errors in Keep's SearchView.

Issue #10860557 TextChange animator may old stale value
Issue #10819685 sometimes icons are lighter
Issue #10750525 Share and Settings icons overlap when stopping slideshow
Issue #10839551 Sometimes the search text box is right-aligned in Keep
Issue #10727484 Cursor incorrectly positioned after entering first letter during search action in keep app

Change-Id: Iad7cbf3297e18018308b8148b3519b032e63dace
f206b5935e702d9b0bf9ce23166017a54ff4880e 14-Sep-2013 Adam Powell <adamp@google.com> am 3cfc5995: am 3157e73f: Merge "Don\'t recycle action button views" into klp-dev

* commit '3cfc5995bfa5d9d4c9203991131d76947c572b58':
Don't recycle action button views
76d915955f04f841161b054e6c249a65c78ba0fd 13-Sep-2013 Adam Powell <adamp@google.com> Don't recycle action button views

Recycling action button views interferes with transition
animations. Suppress menu item view recycling for them.

Change-Id: I69d7561e337be7e4a89b7cf30b6c9439f2d49cc2
d488b785dfd7aadbb4dac69eeb2537182d814979 12-Sep-2013 Adam Powell <adamp@google.com> am 179ba0c0: am a2906cb4: Merge "Show alternate menu panel on devices with menu key" into klp-dev

* commit '179ba0c04b446406d226cdfe866317d0d2bcecce':
Show alternate menu panel on devices with menu key
a2906cb4d9355b7a08e7fdec1924c2dbc7fda622 12-Sep-2013 Adam Powell <adamp@google.com> Merge "Show alternate menu panel on devices with menu key" into klp-dev
5fcf5b9fd3ff6757090c6bd166b60c18eda0b3ef 11-Sep-2013 Adam Powell <adamp@google.com> Show alternate menu panel on devices with menu key

Provide a softer transition to the overflow-everywhere world for
devices with menu keys. The panel menu will still be used on these
devices in response to a menu key press even in the presence of an
action bar with overflow.

Fix a few lingering bugs around dispatching the open-overflow
transition that caused problems with this along the way.

Change-Id: I9d77c70f6d15c47160ac06292984101d619c44e6
a395e70109c904c223bb0575e2447fd249701d0d 12-Sep-2013 Adam Powell <adamp@google.com> am 18149fcf: am 6847447d: Merge "Action bar refactoring and transitions" into klp-dev

* commit '18149fcf86eee3335b28b2c2373b585c4e18745a':
Action bar refactoring and transitions
ad79b90f21dcde6f741c47a251882c0a47c5f698 19-Jun-2013 Adam Powell <adamp@google.com> Action bar refactoring and transitions

* Remove the extra occurrence of the Up caret view and reuse the
standard home view.

* Use new transition APIs to animate changes in action bar content.

Change-Id: I7af3bb580ef4bff7d8dec9e21649b856fe73c77b
617feb99a06e7ffb3894e86a286bf30e085f321a 10-Sep-2013 Alan Viverette <alanv@google.com> Add View constructor that supplies a default style resource

Also updates the constructor of every class that extends View.

BUG: 10676369
Change-Id: Ifaf27bf82028d180afa4931c0e906df88d858ac3
fbe4a586c29b6e415e8d39d73d19bd7f0215a851 06-Sep-2013 Alan Viverette <alanv@google.com> Add drag-to-open for action bar submenus

BUG: 10649895
Change-Id: I5076e0d09453a75ed20c44eede4b43e8a2f535fd
6b8c69edd210ad86eb659e06681422bb29ba2123 27-Aug-2013 Svetoslav Ganov <svetoslavganov@google.com> Merge "Update AccessibilityNodeInfo API as per API council request" into klp-dev
cb8ed39b3fb591be60b9fb1799d4ea4530eab758 24-Aug-2013 Svetoslav Ganov <svetoslavganov@google.com> Update AccessibilityNodeInfo API as per API council request


Change-Id: I9709a271ab3720e064b98c79c0950d811fe37b73
9212e350d52ea98cb673280870c54319b03ccad3 26-Aug-2013 Alan Viverette <alanv@google.com> Merge "Reconcile drag-to-open and touch event interception" into klp-dev
69960142efa8d228adbfcbabdcf618426e31e1f5 23-Aug-2013 Alan Viverette <alanv@google.com> Reconcile drag-to-open and touch event interception

Changes behavior such that dragging on a Spinner that's inside
of a ScrollView will only scroll after a tap delay.

BUG: 10442971
Change-Id: I9fa9c5f0cf99e0cd158f52b6fa7a109ce1b6b8b1
2b10b52f6c08eb79f48f7388e2f1c69f58a9c96d 21-Aug-2013 Satoshi Kataoka <satok@google.com> Add new API shouldOfferSwitchingToNextInputMethod

Bug: 8364845
Change-Id: I6767f5640a07aa515a930645b0cf0b36fbe94831
a2e88ef89611d69b65b1830cc5ffebfb679e9d4d 21-Aug-2013 Alan Viverette <alanv@google.com> Merge "Move forwarding code to ListPopupWindow, add drag-to-open in Spinner" into klp-dev
058ac7cfe5bb7b9ecc411b94622ac3f31a7fa25e 20-Aug-2013 Alan Viverette <alanv@google.com> Use MULTI_LINE and OPENS_POPUP accessibility properties

BUG: 10391326
Change-Id: Ib2deeeef401802b6dde646e14ee5367141469a58
ca6a3611cdb28a514834adba35fcce2da6f2e7c2 16-Aug-2013 Alan Viverette <alanv@google.com> Move forwarding code to ListPopupWindow, add drag-to-open in Spinner

BUG: 9437139
Change-Id: I4599cf65a472b2ce74d2301988359d87917a6eec
c05027214f1f4dda67296a072dfc9af9176dc590 16-Aug-2013 Alan Viverette <alanv@google.com> Forward events to ListPopupWindow, highlight touched items

Moves most of the drag-to-open behavior into ListPopupWindow's
particular implementation of ListView. Uses hidden View API for
forwarding events between different windows.

Overflow menu opens on first touch, closes on touch end outside
the overflow button. Clicks that occur during drag-to-open mode
result in alpha animation of the selector drawable.

BUG: 9437139
Change-Id: I70f540555a03450638a27880b3ae3b031ca6e2ed
b3c21ac7c661022534135bf688a75ec35fe3a8f2 07-Aug-2013 Satoshi Kataoka <satok@google.com> Reduce the transaction fee of getEnabledInputMethodSubtypeList

Bug: 8467480
Change-Id: If18cce8fbe567df51f29adcdcedff3f743460b8b
c3a1914bd777575cee1917d99d14f05bfd128717 07-Aug-2013 Ken Wakasa <kwakasa@google.com> Revert "Reduce the transaction fee of getEnabledInputMethodSubtypeList"

This reverts commit e9a6f9713ca48aab9a6c87e0645cb0a0af946a11.

Change-Id: I611d31086d4f02aae5c7021ac92975bd92a59f34
e9a6f9713ca48aab9a6c87e0645cb0a0af946a11 07-Aug-2013 Satoshi Kataoka <satok@google.com> Reduce the transaction fee of getEnabledInputMethodSubtypeList

Bug: 8467480
Change-Id: Ic1fddfe433e097041fcb09d1fd341d77d7d8b13b
80e72700858eb58b379f77a0da5fd3a98e1aa07c 29-Jul-2013 Alan Viverette <alanv@google.com> Implement drag to open overflow menu, lift to select

BUG: 9437139
Change-Id: Iaa962453ba1b2c739a04b6b1be4f6de1fb2fa752
2dc27f22c9f2ff5de9f9e7d578391ba2abb9815c 16-Jul-2013 Adam Powell <adamp@google.com> Fix collapsible action views.

Fix a regression caused by a previous overzealous refactoring. (Oops.)
Watch those conditionals, everyone!

Bug 9866559

Change-Id: Ia88a4ee38edef378e70bdc7151c825375a3d482d
d9ddf52c1281db14d9243ecef6c07bdeed1e6e34 16-Jul-2013 Alan Viverette <alanv@google.com> Revert "Update ListMenuItemView to use a single RelativeLayout"

This reverts commit 8933efd49a0b2c10ddb30b23b57f5676634d0277.

BUG: 9774755
Change-Id: Ib6481e396092da81edd2c69f619f45f61e8fa393
cc5b49f07ff856677cdfdbb0ecff1dcaeaaedc66 12-Jul-2013 Adam Powell <adamp@google.com> Merge "Fix MenuItemImpl#hasCollapsibleActionView for action providers"
b4c8ba49ac6ccce8e5c7904741f4adff05e37640 12-Jul-2013 Adam Powell <adamp@google.com> Fix MenuItemImpl#hasCollapsibleActionView for action providers

hasCollapsibleActionView was previously checking only that mActionView
was not null, even if the item had a valid ActionProvider that would
later lazily create an action view when prompted. Account for this and
attempt to create the action view if needed when
hasCollapsibleActionView is called.

Bug 8732876

Change-Id: Idf7b329770f686208882509b82a4cb13c70ef32c
ea04f3cfc6e245fb415fd352ed0048cd940a46fe 11-Jul-2013 Adam Powell <adamp@google.com> Always show overflow buttons on action bars

The menu button is not pining, it's passed on! This button is no more!
It has ceased to be! It's expired and gone to meet its maker! It's a
stiff! Bereft of life, it rests in peace! If you hadn't nailed it to a
flagship device it'd be pushing up the daisies!


Change-Id: Id523ef8efa7d0fa7120f8430222ac892fcafefda
c39451267bd0c484f7d9a7ae6475533268be6640 10-Jul-2013 Adam Powell <adamp@google.com> Fix ListMenuItemView regression from patch 8933efd49

Passing 'true' as the third parameter of LayoutInflater#inflate does
cause it to add the inflated view to the parent in a single step, but
it also changes the return value to be the root of the resulting
hierarchy after the add rather than the root of the inflated layout.

Return to adding the view to its parent as a separate step.

Bug 9754101

Change-Id: I7ca4c921993594931f5007af69d45e9ff06065df
673e64dd627d4d6effc17648b2246d3b0af679b7 27-Jun-2013 Alan Viverette <alanv@google.com> Merge "Optimize width measurement and cache result in MenuPopupHelper"
0bce6ab8cd8aadc9784dda2f3f4cc9dd91b796c7 27-Jun-2013 Alan Viverette <alanv@google.com> Optimize width measurement and cache result in MenuPopupHelper

BUG: 9591217
Change-Id: I0cc2fad39f967e92b2c954f6417430a42dce8e43
8933efd49a0b2c10ddb30b23b57f5676634d0277 27-Jun-2013 Alan Viverette <alanv@google.com> Update ListMenuItemView to use a single RelativeLayout

BUG: 9591217
Change-Id: If5d301f70ac3806ab14e309affa57c625d897c7d
6196cfdb528d662741c68126062dd34d78641a5b 30-May-2013 Svetoslav <svetoslavganov@google.com> Merge "Remove Auto-rotate screen setting if a required feature is missing."
dcc55855bc660fc2f45d02a1398be2e4fcf5fcb5 03-May-2013 Adam Powell <adamp@google.com> Fix a NPE in MenuItemImpl when setting null ActionProvider

Change-Id: I00be010b2197d0f41d0e45b3814474d3ad0c3295
79578b29bf4ba1d210586b9d7bb832eddf0960b7 30-Apr-2013 Svetoslav <svetoslavganov@google.com> Remove Auto-rotate screen setting if a required feature is missing.

It is possible that a device running Android does not support rotation,
for example a Google TV box. The change adds a check to the rotation
policy to take this into account.

The SystemUI was not respecting the fact that the user has turned off
screen rotation, i.e. locked the rotation, from the accessibility
settings. In this case we should not show the affordance to toggle
screen rotation in the quick settings to minimize the risk of a blind
user accidentally turning screen rotation on. For a blind person
screen rotation adds 2X complexity since he/she should learn two
different layouts for the app.


Change-Id: If1b3c092476932f91b0345fb9bfbbf6ed33d0df9
e0e2f4fd3ac8e70e341ae52d6376d8d67bd9edce 06-Apr-2013 Adam Powell <adamp@google.com> Fix accessibility in action bars and add extra customization

Fix a bug where the content description of the big unified Home/Up
button was not getting set properly.

Add the ability to change the home-as-up glyph from ActionBar.

Add the ability to set a custom action description for the home-as-up
button, useful if the above functionality is used.

Bug 8548229

Change-Id: I0635799772c7234b68247dfc105dce7f11acda32
1951ce86c21445ac191e4d2d95233f4f5c096b56 05-Apr-2013 Jeff Brown <jeffbrown@google.com> Correctly manage the lifecycle of IME InputChannels.

InputChannels are normally duplicated when sent to a remote process
over Binder but this does not happen if the recipient is running within
the system server process. This causes problems for KeyGuard because the
InputMethodManagerService may accidentally dispose the channel
that KeyGuard is using.

Fixed the lifecycle of InputChannels that are managed by the IME
framework. We now return a duplicate of the channel to the application
and then take care to dispose of the duplicate when necessary.
In particular, InputBindResult disposes its InputChannel automatically
when returned through Binder (using PARCELABLE_WRITE_RETURN_VALUE).

Bug: 8493879
Change-Id: I08ec3d13268c76f3b56706b4523508bcefa3be79
c28867a1d67121ce5963de135e3ae2b1dbd9a33d 26-Mar-2013 Jeff Brown <jeffbrown@google.com> Use input transport for communications between app and IME.

The input method manager service now supplies an input channel for
communication while creating an IME session on behalf of the

This change significanly reduces the overhead of IME event dispatch
by using a standard input channel to send input events rather than
using binder. This results in fewer thread context switches
and fewer object allocations.

What's more, the IME may perform additional batching of the motion
events that it receives which may help it catch up if it is
getting behind while processing them.

Bug: 7984576
Bug: 8473020
Change-Id: Ibe26311edd0060cdcae80194f1753482e635786f
52a53526265c801b70eaf6dab1acf5c3f628f8a6 14-Mar-2013 Michael Wright <michaelwr@google.com> Separate sessionCreated and finishedEvents callbacks

Bug: 8276952
Change-Id: If7051086c060fcce5d1e958ebbddec0784c851da
e4bbb1cc451c7ebdad9f92968732fc4f6c21a70c 15-Mar-2013 Craig Mautner <cmautner@google.com> Catch BadTokenException and continue.

BadTokenException is a normal consequence of swapping IMEs while there
is a DO_SHOW_SOFT_INPUT message in the IIMethodWrapper queue. This
race condition cannot be avoided without an unacceptable lock down of

Fixes bug 8387663.
Fixes bug 8263462.

Change-Id: I2c21573cf972145ab08e66604cdb9344139a3f31
ca0ac718cbc2ad3e7ad2400f5fa34068f154ee20 14-Mar-2013 Craig Mautner <cmautner@google.com> Remove WindowManager messages from remote queue.

When a new IME is attached it is not enough to remove the
WindowManager messages from the local queue, but the ones in
the previous IME queue must also be removed.

Fixes bug 8263462.

Change-Id: I9e916c6052a83dc7691bcba0b6ab8328b9b7cc36
e8cc96b8f8b26d0dcf3a2abff9104ed0bb6f6bbd 12-Mar-2013 Michael Wright <michaelwr@google.com> Remove unused interface IInputConnectionCallback

Bug: 8276952
Change-Id: I3755df557388bee55f0cc4780adc300672cbe9a1
4207fda51babb3892652fcdc901295c81876a38f 01-Mar-2013 Justin Koh <justinkoh@google.com> Add policy check to always show overflow menu button on TV devices.

Add policy check to always show overflow menu button on TV devices.
Bug: 8236681

Change-Id: I4f92eef7a6d530feb698f83b0720b36115f7a04a
c4aad01cbbb69c916ef323693e1fd0560b0eccba 23-Feb-2013 Dianne Hackborn <hackbod@google.com> Formalize overscan metrics.

The window manager now maintains and reports a new formal
"overscan insets" for each window, much like the existing
content and visible insets. This is used to correctly
position the various UI elements in the various combination
of layout options. In particular, this allows us to have
an activity that is using fitSystemWindows to have the content
of its UI extend out to the visible content part of the screen
while still positioning its fixed UI elements inside the
standard content rect (and the entire window extending all
the way into the overscan area to fill the screen as desired).

Okay, maybe that is not written so clearly. Well, it made
my head hurt too, so suffer!

The key thing is that windows now need to know about three
rectangles: the overall rectangle of the window, the rectangle
inside of the overscan area, and the rectangle inside of the
content area. The FLAG_LAYOUT_IN_OVERSCAN option controls
whether the second rectangle is pushed out to fill the entire
overscan area.

Also did some improvements to debug dumping in the window

Change-Id: Ib2368c4aff5709d00662c799507c37b6826929fd
eb573418a7a727fb44720514da8ebc1dc37388f7 19-Apr-2011 Mattias Falk <mattias.falk@sonyericsson.com> Re-read shortcut labels if the language has changed

The shortcut label isn't updated to the current language
if the phone's language has changed.

The problem was that the shortcut label is stored in a
static variable which is set once and kept throughout the
life time of the process.

Change-Id: I89c5875fbf28fb82e073166c472ca205d28674fb
14c4669916ae993b248f00c55daf0f17069903d9 10-Oct-2012 Svetoslav Ganov <svetoslavganov@google.com> Cannot force a shown item from an ActionMode into the overflow menu.

1. An app showing an action mode with a visible item that decides to move this item
to the overflow menu cannot do so since the action menu is not updated properly.
Specifically, ActionMenuPresenter does not clear the "is action button" property
of a menu item neither requires nor requests an action button, i.e. the item's
"show as action" property changed to be never shown on the action bar.


Change-Id: I5cfda6269466fafca1f039a3bab6397392ae9f17
5e08af03a3dffff8b8fc098790e5133589601d8f 22-Sep-2012 Christopher Tate <ctate@google.com> Respect per-user rotation lock et alia

Various per-user settings such as rotation lock are relevant to the
singleton PhoneWindowManager object. We now listen for user-switch
broadcasts and reconfigure the active state based on the newly-
active user's settings.

The RotationPolicy toolset has also been updated to do the right
thing, as has the Quick Settings UI.

Bug 7213638

Change-Id: Iee2109e48df550b4c979d3f9c91b5d2b71a6a08e
e56ffdc7b31b0937628609cc3bbaa15879023569 23-Sep-2012 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #6427629 Clean up layout direction APIs

- rename getResolvedLayoutDirection() to getLayoutDirection()

Change-Id: I3afe56c0db0751952f5056c23893cb7455531d29
b250e94fdced2bd753eeb75f378abfab8b17cc2c 18-Sep-2012 Fabrice Di Meglio <fdimeglio@google.com> Merge "Fix bug #7112174 ActionMenuView should be aware of layout direction" into jb-mr1-dev
b38070caa5143ab9fd1883e0c7c879533a480bc7 24-Aug-2012 Victoria Lease <violets@google.com> IME support for trackball and generic motion events

Trackball and generic motion events now pass through the IME in case
it would like to handle them before passing them on to the view

While I was at it, I also...
...fixed the documentation on InputMethodService.onKeyUp()
...added documentation to InputMethodService.onTrackballEvent()
...added trackball and generic motion events to the "input" command
...fixed input consistency verification involving ACTION_OUTSIDE

Bug: 7050005
Change-Id: I40ab68df4a9542af6df25de6ec2ec500e4c02902
0762cec04fa5ce65a2adc6d70ea1396041b1a88d 06-Sep-2012 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #7112174 ActionMenuView should be aware of layout direction

- do correct layout of action items depending of layout direction

Change-Id: Iff0181ffa2cb69884920edd5c37eb1a8a8196816
98365d7663cbd82979a5700faf0050220b01084d 20-Aug-2012 Jeff Brown <jeffbrown@google.com> Refactor for multi-display support.

Split WindowManagerImpl into two parts, the WindowManager
interface implementation remains where it is but the global
communications with the window manager are now handled by
the WindowManagerGlobal class. This change greatly simplifies
the challenge of having separate WindowManager instances
for each Context.

Removed WindowManagerImpl.getDefault(). This represents the
bulk of this change. Most of the usages of this method were
either to perform global functions (now handled by WindowManagerGlobal)
or to obtain the default display (now handled by DisplayManager).

Explicitly associate each new window with a display and make
the Display object available to the View hierarchy.

Add stubs for some new display manager API features.

Start to split apart the concepts of display id and layer stack.
since they operate at different layers of abstraction.
While it's true that each logical display uniquely corresponds to a
surface flinger layer stack, it is not necessarily the case that
they must use the same ids. Added Display.getLayerStack()
and started using it in places where it was relatively easy to do.

Change-Id: I29ed909114dec86807c4d3a5059c3fa0358bea61
9951b7c4f094d39db70626ed665f848971220c48 08-Aug-2012 Jean-Baptiste Queru <jbq@google.com> am e5c46fae: am 6d0dd51e: Merge "Return early when checking divider before child zero."

* commit 'e5c46faefb9deda885cff308ec9b1926636ca8bc':
Return early when checking divider before child zero.
758143ecfedbe08cc6c4fed0ad8ad7a854194ca4 07-Aug-2012 Svetoslav Ganov <svetoslavganov@google.com> Window position not reported if the window is not moved.

1.If a window is shown but never moved the window window
is never notified for its current location. Therefore,
accessibility nodes do not contain correct bounds in
screen coordinates.


Change-Id: I7df18b095d33ecafffced75aba9e4f4693b0c393
d5c81db1e78e98f3e0a1a5cf206865c3056294c4 02-Aug-2012 Adam Powell <adamp@google.com> Fix some ActionBar menu issues around config changes

Bug 6904212

Update allow-text and max item height properties for action bar menu
item views properly.

Fix an ActionMenuItemView measurement bug that could cause items to
measure too small.

Change-Id: Ibac8491f7670969b0ae4584fff5e44ebd1435abd
c1eea136eaae62091b44d7b06a3d61ac694e4fd7 31-Jul-2012 Adam Powell <adamp@google.com> Fix bug 6906134

Change-Id: I47dfa1e503e502fe348a350dad960fbb112435e7
c0047d4e111b8cfbffdbebb55f846c7ae935e53e 30-Jul-2012 Adam Powell <adamp@google.com> Enforce a maximum size for action button icons.

Change-Id: Id9b5c1573cd40012229921fa8497cbe5ce340b1e
825992f503439bc87d9d7e698a487f17b5acc243 29-Jul-2012 Jake Wharton <jakewharton@gmail.com> Return early when checking divider before child zero.

Previously the `getChildAt` method would be called with an index of -1 which
would lead to an exception being thrown and caught. This is unnecessary since
we know there will never be a divider before the first child. It also avoids
additional object creation since this method can be invoked quite frequently.

Change-Id: Iab44520d5d52f96a829a009cdd1201696edbf9a4
aac0d4ed026d1cfbcf3fa81c6e4eb96f4347ca17 20-Jul-2012 Fabrice Di Meglio <fdimeglio@google.com> Replace left/right with start/end for Gravity / LayoutParams / Padding

- see bug #5429822 UI should be mirrored for RTL locales (Arabic, Hebrew, farsi)

Change-Id: Id9af5375fb9b0edeae5232c77e52ecd497bd2e67
8c1b02e7592dd02f30750c56bf88c65f8acbd3c9 17-Jul-2012 Adam Powell <adamp@google.com> Fix MediaRouteActionProvider button sizing

Bug 6768999

Use proper layout height for MediaRouteButtons generated from

Update ActionMenuView's LayoutParams handling to correctly propagate
width/height values if the supplied LayoutParams is of a different

Change-Id: I1e1b250d873869ca27f59ffb06ccf2299d57b40d
5702d4dfb5b81491f873a3617f8d8fc8dc5279e6 30-Jun-2012 Craig Mautner <cmautner@google.com> Notify client side of window movement.

Add a one way method to notify Views that the window has moved
on the screen. Fixes issues arising from the IME popping up and
translating the window that uses it. Accessibility was left unaware
of these movements and was drawing the box around the wrong widgets.
Similarly PopupWindow used getLocationOnScreen to determine how
much screen real estate was above and below the anchor point to
determine where to put an anchored window.

Fixes bug 6623031.

Change-Id: I4731a94d5424c1ec77bf1729fba8fc9ea34cae46
8f695c525f5baa623a8b951bd3a1fd2b5efd1ceb 18-Jun-2012 Adam Powell <adamp@google.com> am 706a8699: Merge "Make MediaRouter UI more robust around route count changes" into jb-dev

* commit '706a8699008ce416a7fbd9a4215726fdb00ee803':
Make MediaRouter UI more robust around route count changes
bb20575f85ada8ccdacefc53f0da7e00fdf12a16 18-Jun-2012 Adam Powell <adamp@google.com> am 130b4572: ActionProvider API update

* commit '130b4572d1f3df702e5b296a655d15a41f6d4c66':
ActionProvider API update
772ddc0cf28625964435edc5e86048e353c425fa 18-Jun-2012 Adam Powell <adamp@google.com> am fd4df469: Merge "Remove workaround for bug that was fixed a while ago." into jb-dev

* commit 'fd4df46917c79067416985ac53a3da6b27e8c333':
Remove workaround for bug that was fixed a while ago.
39d5c6172503620ac3761148adac5fd7fa20d02d 16-Jun-2012 Adam Powell <adamp@google.com> Make MediaRouter UI more robust around route count changes

Improve the API around ActionProvider visibility overriding. Allow the
application to notify whatever is hosting the ActionProvider that
visibility has changed in a way that is friendly to alternate support
library-style reimplementations of MenuItem.

Allow MediaRouter.Callback implementations to add or remove themselves
or other Callbacks during dispatch of callback events.

Make MediaRouteActionProvider track the visibility of corresponding
menu items more accurately.

Change-Id: Ic7ddb6a87c3637904750d2661e4a9fa323b09ea0
130b4572d1f3df702e5b296a655d15a41f6d4c66 16-Jun-2012 Adam Powell <adamp@google.com> ActionProvider API update

* Add ActionProvider#overridesItemVisibility and isVisible.
These methods allow an ActionProvider to override the
visibility of a MenuItem that it is bound to. If a MenuItem
has been explicitly hidden by the application, it will not
be visible.

* Change MediaRouteActionProvider to not require a MediaRouter
callback, to avoid extra lifecycle management headaches.

Change-Id: I606fa98b3a6a3e60a953dd024274f9bf9c67acdd
307c5cfcdd275e56c6a11056ac4f6d6eb2758ee0 16-Jun-2012 Adam Powell <adamp@google.com> Remove workaround for bug that was fixed a while ago.

Change-Id: I368dd8fea6b33af6908b6fe3b7691104166a707a
0f03d771b29ff0fc6919a514c56128de9a5ecd5e 14-Jun-2012 Adam Powell <adamp@google.com> am f9b7f9f5: Merge "Support route grouping in the MediaRouter dialog UI." into jb-dev

* commit 'f9b7f9f5080100043df3c8868bca4df84becf5a1':
Support route grouping in the MediaRouter dialog UI.
d6d0bddee363e0c7fe61f63bd9d9864a71d887d6 14-Jun-2012 Adam Powell <adamp@google.com> Support route grouping in the MediaRouter dialog UI.

Change-Id: Idcae12cedfb7ca13950e7fa45441fba2029a9f68
72329952168fd86b911109602882b92494e9ccc5 07-Jun-2012 Adam Powell <adamp@google.com> am 4c38fe36: Merge "Protect against bogus input for ListViews" into jb-dev

* commit '4c38fe369fee76b8d4fca5a7b0b8d81a96f0219f':
Protect against bogus input for ListViews
28048d011cb0887cd641977ca37e5f2fde04d191 07-Jun-2012 Adam Powell <adamp@google.com> Protect against bogus input for ListViews

Guard against cases where ListView might receive touch events while

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

Bug 6543282

Change-Id: If2fb9b6aa3cf4a1b7070a7cd0de0edf0fc2f4cca
1178569b261a094fe6fb830e91f002e4fcd9fc1a 06-Jun-2012 Adam Powell <adamp@google.com> am f6452d0c: Merge "More fun with MediaRouter" into jb-dev

* commit 'f6452d0cac64b72005af330411b5a895f0038312':
More fun with MediaRouter
f6452d0cac64b72005af330411b5a895f0038312 06-Jun-2012 Adam Powell <adamp@google.com> Merge "More fun with MediaRouter" into jb-dev
690ffb4e1f735148a15f2036d9a3c1962fba188c 05-Jun-2012 Adam Powell <adamp@google.com> 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
eef4bc08137f2324e2974c282992ff546df99e54 06-Jun-2012 Jeff Brown <jeffbrown@google.com> am 615fd3df: Merge "Implement new rotation policy." into jb-dev

* commit '615fd3dff2e369d8b786abcfe41b6da988e41001':
Implement new rotation policy.
207673cdbb536b9bdd9ff7f9ce953c5485d11f5a 06-Jun-2012 Jeff Brown <jeffbrown@google.com> 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
8e49098f76042c63b4fa8ede9ef9bdf75b77f509 15-May-2012 Adam Powell <adamp@google.com> am e48d12b7: Merge "Fix ActionProviders that have submenus" into jb-dev

* commit 'e48d12b78011ff5ddbb6838a038ea5384190ec92':
Fix ActionProviders that have submenus
2da87ec32e72c2c25998e2444155c00074cfbd40 15-May-2012 Dianne Hackborn <hackbod@google.com> am 2a7a6ca0: Merge "Implement new window cropping." into jb-dev

* commit '2a7a6ca00ab176105b5bbfa6b17bb0dcd058d517':
Implement new window cropping.
f77f480800a84ceb377e47cc200baf2bae4f5d9a 15-May-2012 Adam Powell <adamp@google.com> Fix ActionProviders that have submenus

Automatically create a submenu for items with ActionProviders that
provide a submenu when the item was not initially configured to have

Bug 6493376

Change-Id: I27218e2ab205e87534f235eb04042b185d99d143
85afd1b6f871d471fdff1980134676a5f1690525 13-May-2012 Dianne Hackborn <hackbod@google.com> Implement new window cropping.

The window manager now performs the crop internally, evaluating
it every animation from, to be able to update it along with
the surface position.

Change-Id: I960a2161b9defb6fba4840fa35aee4e411c39b32
217477e01311b4b77c3ad536cb3cc35e5ce08373 09-May-2012 Adam Powell <adamp@google.com> am ea3f8cc7: Merge "Forgive me monkeys, for I have sinned." into jb-dev

* commit 'ea3f8cc71e0bb89840e727e22ba332bae228ac36':
Forgive me monkeys, for I have sinned.
76889f3482d6391b17f0961f7356c1e8169c8813 09-May-2012 Adam Powell <adamp@google.com> Forgive me monkeys, for I have sinned.

It has been several hours since my last commit.

Fix an obscure bug that could cause call ordering problems while
updating ListAdapter-based MenuPresenters. This would trigger an
inconsistent return value from the adapter's getCount method that
didn't take the expanded menu item into account, resulting in the
infamous ListView "you didn't call notifyDataSetChanged" exception.

Bug 6412318

Change-Id: I6262846d9c2acdb87ff99116ad78ca4a388efa6d
4ffd4b884b6e9b0a23fd732637db48fee4e5111d 07-May-2012 Adam Powell <adamp@google.com> am 97621027: Merge "Limit item heights in split action bars" into jb-dev

* commit '9762102794b90d40d69a9a31aa8cd1538f8151f8':
Limit item heights in split action bars
367ee326058bbee6fc179b8b1eb2174fe7ba8f45 07-May-2012 Adam Powell <adamp@google.com> Limit item heights in split action bars

Bug 6449422

Overzealous action views should not be able to cause action bars to
take up a huge amount of space.

Fixed text alignment on action buttons

Change-Id: Ic28d6dacdb6933c63b323f5ed6a6cab5d3726938
e43a4e90173cdb1a8e22a8e8e05356c12df44a0e 03-May-2012 Adam Powell <adamp@google.com> am f27ba974: Merge "JB API cleanup; ActionMode and View docs" into jb-dev

* commit 'f27ba974d5af68baf071282de65a22ca6e59244c':
JB API cleanup; ActionMode and View docs
785c447b2bc625209706fd128ce61781c3a4183b 03-May-2012 Adam Powell <adamp@google.com> JB API cleanup; ActionMode and View docs

Bugs 6435315, 6434937

Add ActionMode#getTitleOptionalHint() and extend documentation for

Change-Id: I2049fb79864c33b34e3bbd13df32861e308c99ad
2d28f53514d55bfc3fb2eb2ebdd6c85ef3d8f9d9 01-May-2012 Jean-Baptiste Queru <jbq@google.com> am 31ab51a3: am 2066f7d9: Merge "Prevent empty overflow popup when there are no overflow items."

* commit '31ab51a369ab57c82d0271115ba31b3b20ce6e6b':
Prevent empty overflow popup when there are no overflow items.
5c58de3a523a384c47b0b1e0f5dd9728a74cd9f7 29-Apr-2012 Dianne Hackborn <hackbod@google.com> Add system insets to windows.

This will be used to determine which parts of a window a completely
hidden by system UI elements (status bar, nav bar, system bar) so
that they can be clipped out from rendering.

Change-Id: I2c6c6ac67dbdfeed82d2c089ef806fb483165bd9
12d3a94397c33fdb773a1eaaaa13cab80bf0c571 27-Apr-2012 Dianne Hackborn <hackbod@google.com> When a window is first shown only draw once while animating.

On some hardware allocating a new graphics buffer is quite
expensive, which blocks updates to the UI. This can cause
glitches when performing window animations.

To reduce these glitches, the view hierarchy will now only
allow itself to be drawn once if its window is being shown
while the window manager is animating, not resuming draws
until it is told that the animation is done.

Change-Id: Ie15192f6fddbd0931b022a72c76ddd55ca266d84
b8139af3dcae80c0030afd0354dc424a7c72c3d9 19-Apr-2012 Adam Powell <adamp@google.com> Adjust action bar tab policies

Action bar tabs now stack in portrait mode on all screen sizes rather
than display embedded. This only affects apps with a targetSdkVersion
of JB or greater, as older apps may not be prepared for the different
measurement of the bar or have an appropriate stacked bar background

Stacked action bar tabs now have a width limit. This prevents
super-wide tabs that can span the whole screen. The cluster of tabs
is centered if it does not span the full width.

Add ActionBarPolicy to give a single point to query for various action
bar measurements and behaviors that vary with configuration.

Change-Id: I01162ca009c14f6f0e712fc906b9db6382c738cd
a7dec6d9734bdc3a9e39ffd357002e25c6fdc99b 10-Apr-2012 Adam Powell <adamp@google.com> Restrictions for action buttons with text

Restrict action buttons with text to 2 lines max. Action buttons with
text will always consume at least 2 cells in split mode because they
look silly in 1.

Note that this affects text provided by menu items, not TextViews
embedded within app-provided action views.

Fixes bug 6236467

Change-Id: I7bcbf80f448b13a895ddc3bc6a7a555c0f0bac7c
a647640f85f415bd8fb8cb925e7687658fe9ae37 29-Mar-2012 Jake Wharton <jakewharton@gmail.com> Prevent empty overflow popup when there are no overflow items.

On a device with a hardware menu key, an empty overflow window can be displayed
if there are no items in said overflow menu. This leads to the next user touch
being swallowed in the action of dismissing the invisible window.

Change-Id: I9191e4b2e1ed4888e4bc7261e8b3f095a272a9b5
c4852a37186260bf688dc94a77a4ebd2a8290a02 19-Mar-2012 Adam Powell <adamp@google.com> Fix a bug where MenuItems would not return consistent results for
item icons initialized from a drawable resource id.

Change-Id: Ieb5245b8fe0e11b2eb788143859da1c0b3657b9f
bb9908b828a8cfd5965553be66faa6af89973697 08-Mar-2012 Romain Guy <romainguy@google.com> Dispatch screen state change events to Views
Bug #6120957

Using this new callback, views can interrupt and resume their
animations or other periodic tasks based on the current state
of the display.

Change-Id: I398f4abd421e9c5f207107bf1009a7b92cf45daa
250069bf6bf3d7e2ef85c49e0cd100e80c3c8b7d 08-Mar-2012 Romain Guy <romainguy@google.com> Merge "Ignore draw requests when the display is off"
f203e0a44ef7578c080d63424820fb5a94a4e92f 07-Mar-2012 Adam Powell <adamp@google.com> Fix some action bar menu layout bugs around config changes

Bug 5712010

Fix cases where the transition between split/standard action bar menu
presentation wasn't happening properly for windows in activities that
handle their own config/orientation changes.

Change-Id: I7168555e09c9ed448afb8619fd6f0e1466695365
75d022af1f24cf2d8a7551183ea5bbe943d25d21 06-Mar-2012 Adam Powell <adamp@google.com> Action buttons are now 1 view instead of 3.

Change-Id: I42afe0e4bd20c3dbe86e2c43a6bc1d776361dca9
7e4e561bc717a6eea4e0d06ec4173ad27420425f 05-Mar-2012 Romain Guy <romainguy@google.com> Ignore draw requests when the display is off

When WindowManagerService's events are enabled/disabled, the state of the
display is dispatched to the known windows. This allows ViewRootImpl to
ignore draw requests until the screen is turned back on. This can potentially
lead to significant battery savings. For instance, a launcher widget showing
a repeating animation will cause the CPU and the GPU to wake up regularly
without this change.
(Change submitted by Intel and merged manually)

Change-Id: I7f93b0e60c3e6de1705f619e80860c36b1cdb978
b98a81f86ab87f1d718f329f03256111fdabd8d1 24-Feb-2012 Adam Powell <adamp@google.com> Add support for optional titles in action modes

Optional titles will only be displayed in the CAB if they entirely fit
instead of ellipsizing.

Fixes bug 5821883

Change-Id: I0cfd6d4fd34a4fa9f520499d577706da30606811
0aec3ea6defdee1ee4a9c0d6c4a3c13df3e7b812 25-Feb-2012 Dianne Hackborn <hackbod@google.com> am 911b505f: am dc5fa185: am 133dc2d7: Merge "Fix issue #6048808: sometimes auto-correct is inactive" into ics-mr1

* commit '911b505f11c719906985f169a4f45930bdec8695':
Fix issue #6048808: sometimes auto-correct is inactive
7663d80f6b6fd6ca7a736c3802013a09c0abdeb9 24-Feb-2012 Dianne Hackborn <hackbod@google.com> Fix issue #6048808: sometimes auto-correct is inactive

My previous change to speed up the time the IME is dismissed was
fundamentally flawed. That change basically switched the order
the application called the input method manager service from doing
startInput() and then windowGainedFocus(), to first windowGainedFocus()
and then startInput().

The problem is that the service relies on startInput() being done
first, since this is the mechanism to set up the new input focus,
and windowGainedFocus() is just updating the IME visibility state
after that is done. However, by doing the startInput() first, that
means in the case where we are going to hide the IME we must first
wait for the IME to re-initialize editing on whatever input has
focus in the new window.

To address this, the change here tries to find a half-way point
between the two. We now do startInput() after windowGainedFocus()
only when this will result in the window being hidden.

It is not as easy as that, though, because these are calls on to
the system service from the application. So being able to do that
meant a fair amount of re-arranging of this part of the protocol
with the service. Now windowGainedFocus() is called with all of
the information also needed for startInput(), and takes care of
performing both operations. The client-side code is correspondingly
rearranged so that the guts of it where startInput() is called can
instead call the windowGainedFocus() entry if appropriate.

So... in theory this is safer than the previous change, since it
should not be impacting the behavior as much. In practice, however,
we are touching and re-arranging a lot more code, and "should" is
not a promise.

Change-Id: Icb58bef75ef4bf9979f3e2ba88cea20db2e2c3fb
688bd47fccf1a1373e6287bc49b5b33fad12b7f3 09-Feb-2012 satok <satok@google.com> Add an api to switch to the next IME and subtype

Bug: 5975302

Change-Id: I48aa4220159c65f456d61a324efcdf0a1ceec91c
0c95dd3f4f02564fab9b86a221bbcbb4aafc2981 24-Jan-2012 Fabrice Di Meglio <fdimeglio@google.com> Fix bug # 5863709 API request: Change param names of deleteSurroundingText to "before" and "after"

Change-Id: I727fad9a59cda915899674569bfabd29b9f5da60
4952dfd16a0f839559ffa78f5016394caf85294f 01-Dec-2011 Jeff Brown <jeffbrown@google.com> Ensure input events are processed in-order in the application.

As it turns out, it used to be possible for there to be multiple
input events simultaneously in flight in an application. Although
it worked, it made it hard to reason about what was going on.
The problem was somewhat exacerbated by the introduction of a
queue of "InputEventMessage" objects as part of an earlier latency

This change restores order from chaos and greatly simplifies the
invariants related to input event dispatch within the application.

Change-Id: I6de5fe61c1fe2ac3dd33edf770d949044df8a019
24340afbab8ad4c191784fda8023407205bc0a75 01-Nov-2011 Adam Powell <adamp@google.com> Fix bug 5534667 - Action bar icons need more space on tablet

Set a wider minimum width for the action button style on -sw600dp.

Fix an annoying bug where recycled ActionMenuItemViews would retain a
lingering pressed state, causing an unrelated button to glow briefly.

The home/up affordance should not be focusable when it is disabled.

Change-Id: Ia68f3d09f5d977f50e4e33c354d8133367187973
678ed0c5a32bac1ea18a5ac99b0b814421ea79b4 28-Oct-2011 Adam Powell <adamp@google.com> Bug 5275928 - Don't try to open an overflow menu under invalid circumstances.

Change-Id: I62ea1e982f0d3c92cb504efbae95bce238b12f72
8eeb4d1a70faa4d5834de44bfa515742566c6ba3 13-Oct-2011 Adam Powell <adamp@google.com> Fix bug 5394020 - Menus are pretty sluggish to bring up

Clear out some obsolete "optimizations" leftover from the old menu
system internals.

Change-Id: I325530c9fae434de2d95200e648c63149334f444
f2894659e8df625783afcd3fa17462ab23d29145 12-Oct-2011 Adam Powell <adamp@google.com> Fix bug 5449931 - Wrong theme for icon menus

IconMenuPresenter should always use its own theme for the system

Change-Id: Iacadce37d62a60cdf6220d82f1178098ed92d51e
538e565c06e915b91e7e3a901f872ccdd9bccdd3 11-Oct-2011 Adam Powell <adamp@google.com> Fix bug 5396097 - menu theme consistency

Fix a bug where action bar menus were using the wrong context to
inflate stock views. This was causing them to use the action bar's
themed widget context instead of the current theme's specific action
bar items.

Note that action views in the menu will still be inflated using the
themed widget context. This can produce some weird side effects if
the action views use theme attributes relating to these action bar
item attributes.

Change-Id: Ied3614d1fedb10a0f5366bbe7b90cd5f2f1ff969
9a230e01a1237749a8a19a5de8d46531b0c8ca6a 06-Oct-2011 Dianne Hackborn <hackbod@google.com> Fix issue #5371530: SYSTEMUI_FLAG_HIDE_NAVIGATION reasserts itself immediately

This cleans up how ui flags are managed between the client and window manager.
It still reports the global UI mode state to the callback, but we now only clear
certain flags when the system goes out of a state (currently this just means the
hide nav bar mode), and don't corrupt other flags in the application when the
global state changes.

Also introduces a sequence number between the app and window manager, to avoid
using bad old data coming from the app during these transitions.

Change-Id: I40bbd12d9b7b69fc0ff1c7dc0cb58a933d4dfb23
f8419a0299680ed580975b0fcb758990b4367db8 03-Oct-2011 Adam Powell <adamp@google.com> Fix bugs around overlay action modes.

Multiple focusable windows cause undesired behavior around selection
modes. TextView isn't sure how to behave when it loses window focus
with regard to selection handles and action modes need to be focusable
for WebView find on page since it uses an EditText as a custom view.

For now:

* Use a layered window decor for overlay action mode when there is no
action bar requested. This eliminates an extra window and avoids the
issue described for full-screen UIs.

* Disable WebView's find-on-page mode when the action mode's UI will
not be focusable. This only affects WebViews in floating windows.

Also remove the "Text Selection" title for WebView's selection mode at
UX's request, as it is inconsistent with TextView's selection mode and
the string does not fit on phones in portrait even on wide
devices. This now uses the same mechanism used in TextView to decide
whether to use title text.

Change-Id: I80caeecea9b47728cf26bb0a388153ca0bdeafe1
275702c2f47ed87ab642462530092d9777f32ecd 24-Sep-2011 Adam Powell <adamp@google.com> Fix bug 5355889 - Search action showing up in the menu dropdown in
spite of search actionview being expanded

Make sure that menu items with an expanded action view don't show up
in list menus presenting the rest of the menu.

Change-Id: I8c7b4e184a9d3ea2457543d0b8b36bc8e7068052
823f074a73cfc23c40a7b576c71daa096ee9ed6a 22-Sep-2011 Adam Powell <adamp@google.com> Fix bug 5300621 - Share menu disappears in gallery

ActionProviders (or action views) unfortunately had no way to report
that they had opened a sub-UI that would affect menu visibility
listeners used to hide action bars when not in use. This caused the
Gallery UI to hide its action bar when the share popup was open.

Add hidden API (to be made public later) to ActionProvider that can be
used to inform the menu system that a sub UI has opened or
closed. Account for this in menu visibility callbacks. Fix
ShareActionProvider to use this when its popup windows open and close.

Fix a regression where submenus were not properly reporting visibility

Change-Id: Ia6f45fb463ad106105c40d01f141c2e5c8b96f78
86ed436b83d6b71ff00d1c3db910f2952018489e 15-Sep-2011 Adam Powell <adamp@google.com> Fix bug 5237737 - ActionBar should fire an accessibility event when
action mode is turned on/off

Fire AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED when action modes
come and go to give an indication of UI change on the level of a menu
or dialog opening/closing.

Change-Id: Id36c6153b0722b4b6927c8d36503e8ac57c2d2b2
bc835039994f8fe70e37041a29d21335a2e22479 14-Sep-2011 Adam Powell <adamp@google.com> Fix bug 5307916 - legacy menu theming

Let list_menu_item_layout and legacy dialog themes tie into new list
item theming internals.

Change-Id: Ic9253a2217148df72bf22b725b32512673c3bb80
1d07e16c9d9ecaaaf8994ad5691c4063ab31f265 08-Sep-2011 Adam Powell <adamp@google.com> Fix bug 5174277 - Trouble with Menus

Make sure that options menu panel presenters associated with a PhoneWindow
get re-wired properly when a new menu is generated.

Change-Id: Ic06130019aec8b8edc372054c348f147d164fc5f
ee5e77cafec2eae70890abdcc1646ed39b06eddd 02-Sep-2011 satok <satok@google.com> Make setAdditionalInputMethodSubtypes async

Bug: 5120261
Change-Id: Ic7869cfaa5361531e08d58d7dfa5ba0feab0613e
7bc3ca0dc52be52ecad1c0de8c62a6a4bf8141ca 27-Aug-2011 Adam Powell <adamp@google.com> Accessibility fixes for action bars

Fix bug 5220543 - fix accessibility events for action buttons

Fix bug 5224260 - fix accessibility events for home/up

Change-Id: I7d55b4819862e1eda0809da92c52ec2d97f36af0
be3c329ebec083e5ff933bab6b6c501519ad2bff 24-Aug-2011 Adam Powell <adamp@google.com> Fix bug 5191728 - Specialized formatting in the split action bar

Visually center a single text menu item in the split action bar even
when an overflow button is present.

Fix a bug in allocating space in the split action bar.

Change-Id: I54eff86bf35197030c9c1656ebd71297e3c8b62b
e20c279d9a6719a7c0d8c6606c7ba1bd207db8d3 23-Aug-2011 Adam Powell <adamp@google.com> Merge "Fix bug 5198868 - Showing previous hidden options menu doesn't work"
04dc06f52a68299c0ad70fa0a9f204d99983ba2b 23-Aug-2011 Adam Powell <adamp@google.com> Fix bug 5198868 - Showing previous hidden options menu doesn't work

Fix bad assumption in flagging action items.

Change-Id: Ic67b56195bc308e73d1564cbf1b77e41eaa4ecab
70e9f4bd2c044858f3c1c040ffce973351a2383a 23-Aug-2011 Adam Powell <adamp@google.com> Fix bug 5189070 - Don't try to show overflow popups for nonexistant menus

Change-Id: I9db43211cdece81063fc1d3c3324f1e166f27b0c
bfcdfaf919cdb67897a6e24afc8f14b2c810596a 19-Aug-2011 Adam Powell <adamp@google.com> Fix bug 5174755 - Adjust action bar overflow limits for ifRoom items

Fix a bug where action menus were not updating after configuration

Change-Id: Iaeed7d924a7b8b40849fd8e1826ed1c8f4079c94
23f4cc0353615107cc9c19fda9cf96ddd43266e2 18-Aug-2011 Adam Powell <adamp@google.com> Fix bug 5099037 - No delete option when multiple videos are selected

Fix some bugs related to how action item slots are allocated in menus.

Fix some padding/margins in ActivityChooserView.

Change-Id: I12096b0165daca902c5bc8e24c1e8d54a35e9557
f35d049b9953fbd1cd24887bac57b5e148c97846 17-Aug-2011 Adam Powell <adamp@google.com> Fix bug 5168889 - action bar not respecting return codes of onCreate/Prepare menu

Change-Id: If28630cb21e74bde7a2474ce060078ea30170b9d
3bb421d5b85a8a99c408d16e4f80163a53bc0505 17-Aug-2011 Adam Powell <adamp@google.com> Fix bug 5165771 - Gmail: crash on launch from notifier

Change-Id: Iec9c189bd3fa5e62bc8eb520ca2a1dd4db106036
7b5e9e6c1c7098b6d7b2c6f9ab0c316f0f66109e 16-Aug-2011 Adam Powell <adamp@google.com> Fix bug 5167078 - Show a 'cheat sheet' popup for icon-only action buttons

Action buttons: now less confusing!

Change-Id: I5c96effa64a2cdde22b71523b99ab489869fc245
14b7e2c1688914ba8b6854738981337d7c0653be 12-Aug-2011 Adam Powell <adamp@google.com> Fix bug 5078498 - Icons jump around on split action bar

Revise measurement and layout code for the lower menu on a split
action bar.

Fix some metrics in the action mode close button and in button bars.

Change-Id: I76215e28ae3b0199162dedd32794b25c9e38a346
6b0e97c7c48cf9446c7d4bc1b37d4c37d78433b0 03-Aug-2011 Adam Powell <adamp@google.com> Fix bug 5093394 - Double SearchView!! What does it mean!?

It means we should collapse any expanded action items when we
clear out all items from a MenuBuilder.

Change-Id: I59cacd862a89b3a50c61b02c64b1ea71907af83f
ccdd4ee44f8cfbb45b2989cca833895fcc4c4225 28-Jul-2011 Adam Powell <adamp@google.com> Fix bug 5087980 - MenuItem#expandActionView should work from within

Initialize menu presenters early enough to respond to expanding an
action view within onCreateOptionsMenu.

Have SearchView show the IME as an async post to handle attempts to
show it while the UI is still in initial setup.

Change-Id: I77f3a94ed4397737edb5a7a15bf54993b6723f5e
257466d4e24bd405204cb21a1663eb1cc99f6137 28-Jul-2011 Adam Powell <adamp@google.com> Merge "Bug 5076788 - Optimize the building and invalidation of menus"
89b09da7b3b1e69264d9ec710c66eb2f891b313e 27-Jul-2011 Adam Powell <adamp@google.com> Bug 5076788 - Optimize the building and invalidation of menus

Fix cases that weren't batching menu presenter changes correctly.

Have FragmentManager invalidate the options menu less often.

Change-Id: Ia66fcd09ada8b0a084ad6b08d4340a8fa0c8fc5d
10da590839e264735de8a4582021aca0dab81037 27-Jul-2011 Amith Yamasani <yamasani@google.com> Handle callbacks to CollapsibleActionViews that are in an actionLayout.

Also, the onActionViewCollapsed needs to be called before detaching
the action view, so that the action view can dismiss the keyboard properly.

Fixes the Gmail search case where the keyboard doesn't disappear on hitting
the "up" affordance after a search.

Change-Id: I3c2f3f90f0edf6473404e6ceae3fa08866cad736
038f1c80af06da55056120e121d43e3ee89ec726 21-Jul-2011 Adam Powell <adamp@google.com> Bug 5061529 - Save/restore action view state for menu items across

This includes expand/collapse state.

Add CollapsibleActionView interface. Views can implement this to have
special behavior when they are presented as an expanding/collapsing
action view. This lets SearchView and others take care of fiddly
behavior (focus stealing; opening the IME) automatically without apps
needing to implement this themselves.

Change-Id: Ibbd1eb5fcf3e3a862419e9344ad50f896bd05e36
b187cd9c54f0100c0fb47c354cdecad29ca7c0ae 20-Jul-2011 Adam Powell <adamp@google.com> Fix bug 5038368 - Rules for collapsing action views.

Make collapsing action views exclusive on small screens with unsplit
action bars.

Change-Id: I11cc220acc7b6acddd25f2500404b47bfb405d5c
91e88122cf28a48fd2e2260da7d3d87dd437227a 18-Jul-2011 satok <satok@google.com> Enable IMEs to set additional subtypes in background

Bug: 4591792

Change-Id: I7e61a576c56d1a3a56001bdf2fd51ad3801add01
9837d6d02fc0968614efe5260a176e0c406fe93c 14-Jul-2011 Adam Powell <adamp@google.com> Fix bug in submenus opened from icon menus

Change-Id: I8b60ceefbccb5cad78d1b5c55702a2685a5f5382
648b36bc3011437aeb1991dd355c83be7e5f0db5 14-Jul-2011 Adam Powell <adamp@google.com> Merge "Preserve spacing for icons in menus"
9151103ff20d28e8db2a2cc0386d57b8dad4b5d5 13-Jul-2011 Adam Powell <adamp@google.com> Preserve spacing for icons in menus

Change-Id: I3269fcffb98a84b6a5c5f9198afd2b2eae7d5f02
76559a65ad9d644f10beacf8895ceb217fdd0aeb 07-Jul-2011 Svetoslav Ganov <svetoslavganov@google.com> Polish of the ActivityChooserView and ShareActionProvider.

1. Addressed the UX comments: ActivityChooserView's default selection
popup no longer shows a message, rather hightlights the default
action which now it displays. Alignemnt of the UI.

2. The ShareActionProvider shows a sub-menu if the host item goes
on the overflow menu.

3. Now the heade layout of the activity chooser view is not needed hence
dropped and the item and footer ones are merged.

Change-Id: I0b3de623e4c0a805be9ed73a8541e66b8c00e2d2
961dd11895ce72e59bca124ef5bea4e4c1183099 12-Jul-2011 Adam Powell <adamp@google.com> Update ActionProvider to support dynamically building submenus.

Stub out ShareActionProvider for building a submenu of activities to
choose from.

Change-Id: Ibd9ada77a455ed1a296c87b6d967073ca0f676c2
11ed1d6cae9214335c92ac38498a4e6c7d1c8324 12-Jul-2011 Adam Powell <adamp@google.com> Fix bugs around restoring submenu state after activity teardown/restore

Change-Id: I6cb5b3cad39b141dff84b8e0ca62f8f0a76a03b1
7f8f79a1ff086c04a3ad2a442b1d39a8186e3e50 08-Jul-2011 Adam Powell <adamp@google.com> Add ALL CAPS style to TextView/TextAppearance

Switch out ugly hack in action menu items for the new style.

Change-Id: I68a0ed62a352b14d499e6478b82bbc12dcb5a030
160bb7fa60e8ece654e6ce999b6c16af50ee7357 07-Jul-2011 Adam Powell <adamp@google.com> Action bar layout tweaks

Fix a Spinner issue that reported odd baselines

Fix detection of expandable items for action menus and allocation of cells

Use the right asset for home-as-up in Theme.Holo.Light.SolidActionBar.Inverse

Add TextAppearance.Holo.Widget.ActionBar.Menu as a basis for further
menu item styling

Sync with design for tab/menu text appearance

Change-Id: I32026bbde1cd4e15b6cda30d78d3d48250c84c94
2c742c2aebf20a0534c822eb8a36da99d9df79fe 07-Jul-2011 Adam Powell <adamp@google.com> Fix bug 5000009 - NPE in Phone UI

Change-Id: I9c5c2c73b340192d754949865b6e4ee4a9a324ff
35aecd5884a5ccfe380903e39f30f468315e8f92 01-Jul-2011 Adam Powell <adamp@google.com> Updates for action menus

Sync with UX designs for action menus in split action bar mode.
Layout is now based on a grid cell scheme.

Tweak action menu item layouts.

Fix some bugs with drawing LinearLayout dividers.

Rename config resources to follow convention.

Action bar menu items now show text in ALL CAPS. This is done in a
locale-dependent manner, but if it produces problems in specific
locales the config resource config_actionMenuItemAllCaps should be set
to false for that locale.

Change-Id: I064c2dd85e012e89551f29153efcfc17f9106333
51ac0e94a83cfccb5105aa14df1077729a5b4ccc 17-Jun-2011 Svetoslav Ganov <svetoslavganov@google.com> Adding a ShareView and ActionProvider for menus.

1. Adding a widget for sharing contenet with other applications.
The widget orders the share targets based on previous shares.
It displays the share target list as either a popup anchored to
itslef or as a dialog.

2. Added a ShareDataModel that will back widgets or other classes
that are interested in share targets for a given intent ordered
according to share history. This class is backing the ShareView

3. Added ActionProvider mechanism for the MenuItems. The action
provider of a menu creates the action view as well as performs
a default action if the menu item is on the overflow menu and
is triggered but none of the menu callback has handled that.


Change-Id: Iaa4add2df2538b8c6c7edbeaf2880486d4fd75c5
8c4706252228755ed181d19532b7e0cfec270ba4 01-Jul-2011 Adam Powell <adamp@google.com> Add API to report the presence of a permanent menu key on the device.

Action bar now uses this to determine whether to show an overflow menu.

Change-Id: Ife4f724d02bbc0d9d86d94740c85299f6dacae91
863fcd62171e55bc9f2105d9fb5877df982454d8 21-Jun-2011 satok <satok@google.com> Add onClickView to InputMethodService

Bug: 4697141

- onClickView is called everytime the user taps EditText

Change-Id: Ia71ad325e50a20e9e1001def662ef992bb50a9d0
8969d9924c662ab4cdacc342bbdc33756db730be 22-Jun-2011 satok <satok@google.com> Revert "Create TextServiceManager and SpellCheckerService"

This reverts commit eaddb894865a804279659b4aad6364a34ab50beb.
f86ee14f6a53d409489261415901c6397877ce3d 22-Jun-2011 satok <satok@google.com> Merge "Create TextServiceManager and SpellCheckerService"
42b91bbcdaf64b2f19d0a9ce168964b31a5dc139 22-Jun-2011 Adam Powell <adamp@google.com> Fix bug 4818050 - Need a way to get notified when a PopupMenu gets

Add an OnDismissListener to PopupMenu.

Change-Id: I7abe1b9c9bea5e758a9c32631185e50cd7eb1ed0
45d061656aab9f13dc1bb0e5d9378dd661a25f8e 22-Jun-2011 Adam Powell <adamp@google.com> Merge "Fix bug 4725323 - 'More' shows the icons which are already available in settings"
51195b56ff6d3d589abefde27f0a99b5a9a04ff8 22-Jun-2011 Adam Powell <adamp@google.com> Fix bug 4725323 - 'More' shows the icons which are already available
in settings

Change-Id: I161787710fbadaa19b93de3e69f3c60db2be73a6
ea1ca952c625d51dc71e1cc3d955b239921888c7 21-Jun-2011 Adam Powell <adamp@google.com> Fix bug 4108953 - Old-style menus do not show menu items marked as

Change-Id: I63299143ea780abeed6dcdece6934f0e704b46a2
eaddb894865a804279659b4aad6364a34ab50beb 01-Jun-2011 satok <satok@google.com> Create TextServiceManager and SpellCheckerService

Bug: 4176026

Spec of TextServiceManager
- Chooses the most applicable TextService(e.g. SpellCheckerService, WordBreakIteratorService..)
for each locale

Spec of SpellCheckerService
- Returns whether the given string is a correct word or not
- Returns Suggestions for the given string

Change-Id: Ia25e7b4f308778891929e31b8cbd741f6848cce4
38639b1d75933bfb720db79fce26f09478709614 18-Jun-2011 Adam Powell <adamp@google.com> Fix bug 4689431 - PopupMenus too narrow on phones

Change-Id: I624b46d17c1d964fd6cb04abf96333c7a8474d75
f1a4549604639e3d9eafc406426ddc252d427b57 17-Jun-2011 Adam Powell <adamp@google.com> Bug 4726236 - NPE at dispatchRestoreInstanceState

Change-Id: Ib7eba6ead85fa4daa8046bbc2d4d3fcc1d4223c3
c0053223bedf33581b0830fb87be32c1f26e5372 13-Jun-2011 Fabrice Di Meglio <fdimeglio@google.com> Add View.getResolvedLayoutDirection()

- update Callback2 interface
- update Gravity.getAbsoluteGravity() and Gravity.apply() to be more generic
by changing "boolean isRtl" parameter to "int layoutDirection"
- fix BiDiTests for RTL FrameLayout

Change-Id: I97bb456c22d5fd3ecb34f08564ce4dbed37e7459
21e2f1b4a0877ee38f7ba89eb32f585fb34431f3 10-Jun-2011 satok <satok@google.com> Merge "API to set additional subtypes"
e7c6998e0a953ae55487d4fe122739646f9280aa 03-Jun-2011 satok <satok@google.com> API to set additional subtypes

Bug: 4321667

- Due to the voice team's strong request

Change-Id: Ia8bbc277c0987bde996e6f65541877cec96a3ca1
81cf3ecadefb8fd6c05771b0b9947babaa9c8eaf 17-May-2011 Adam Powell <adamp@google.com> Action buttons now use themable style.

Obey action view layoutparams.

Change-Id: Ia466008465b57659615fbf9d450ce3fdb3c06379
1ab418a222e1834c4b1312fde355e41a1947af0d 10-Jun-2011 Adam Powell <adamp@google.com> Refine the behavior of split action bars.

Change-Id: I27212c7554025433ee366f0766971f0092b26d67
8643aa0179e598e78d938c59035389054535a229 20-Apr-2011 Svetoslav Ganov <svetoslavganov@google.com> Interrogation of the view hierarchy from an AccessibilityService.

1. Views are represented as AccessibilityNodeInfos to AccessibilityServices.

2. An accessibility service receives AccessibilityEvents and can ask
for its source and gets an AccessibilityNodeInfo which can be used
to get its parent and children infos and so on.

3. AccessibilityNodeInfo contains some attributes and actions that
can be performed on the source.

4. AccessibilityService can request the system to preform an action
on the source of an AccessibilityNodeInfo.

5. ViewAncestor provides an interaction connection to the
AccessibiltyManagerService and an accessibility service uses
its connection to the latter to interact with screen content.

6. AccessibilityService can interact ONLY with the focused window
and all calls are routed through the AccessibilityManagerService
which imposes security.

7. Hidden APIs on AccessibilityService can find AccessibilityNodeInfos
based on some criteria. These API go through the AccessibilityManagerServcie
for security check.

8. Some actions are hidden and are exposes only to eng builds for UI testing.

Change-Id: Ie34fa4219f350eb3f4f6f9f45b24f709bd98783c
8d02deabac62c4a68a335a7b3141795466362b89 01-Jun-2011 Adam Powell <adamp@google.com> Implement bug 4500971 - Collapsable action views

Action views may now be flagged as 'collapsable'. This means that the
action menu will always show them in the collapsed state by
default. When selected, the action view will "take over" the
navigation/view side of an action bar until dismissed via the home/up

This feature allows for more long-term exclusive modes akin to
ActionModes but less intrusive. The action menu itself remains
unaffected. Collapsable action views are ideal for things such as
search or categories of tool palettes.

Change-Id: Ibafce5631befbfe67c5d834c2e2617d3d7f6da7a
c619e74cc62678cef09b5f92e87e762a1f02aab7 01-Jun-2011 Gilles Debunne <debunne@google.com> ActionBar makes room for icons when no title is provided

Change-Id: I5bd09e00b50496032deda40ea22367d727230611
5ff0f99b23da389f59fe736c4c670c60f13be8ea 27-May-2011 Fabrice Di Meglio <fdimeglio@google.com> Merge "Add support for Gravity BEFORE and AFTER"
6a03640539405afbdefe72894759281b98aa6e6f 23-May-2011 Fabrice Di Meglio <fdimeglio@google.com> Add support for Gravity BEFORE and AFTER

- update layouts
- add Callback2 for RTL aware Drawable
- add unit tests

Change-Id: Ic64d0291e262170aff7297c6580b0b422eaa8d89
f9f01008624e2d28c15a90d942fa36f98c8c967d 19-May-2011 satok <satok@google.com> Add Apis to send notifications when the suggestion was picked

- Due to a strong request from VoiceIME

Bug: 4443922

Change-Id: Ia539de0acf66053e0349daec459d75e36805f6bf
f4232e0097ffb672f5d1559b20c7230081efe34f 23-May-2011 Adam Powell <adamp@google.com> Change action button layout for split action bars

Change-Id: Ie1427ae6b0334bf0a8afd5cae968c286c82a3837
f746fc9e45c2bc80d8af2eb10d849c5807ebe1c7 21-May-2011 Adam Powell <adamp@google.com> Fix bug 4450805 - item selection dispatching in submenus.

Change-Id: I6c56c9c8c6bd6c719250df4a21bda7d0ef463de4
d1f4207ba577e2ac3f39a719f8ee4bb9f4940dc1 04-May-2011 Adam Powell <adamp@google.com> Fix bug 4355335 - android.app.cts.DialogTest.testContextMenu failing on IRJ28

Change-Id: Icfcd8c2aadd0fb9e49296b8318858317407e1b7f
e42b189f369b6b0cb35095bc5386ba82b5ce39a5 03-May-2011 Adam Powell <adamp@google.com> Remove debug logging

Change-Id: If1a8ef5461b98239d8f55f842e1043b6b3d0f070
640a66eac612b850b5dabd3b93bd94f83ed2d567 29-Apr-2011 Adam Powell <adamp@google.com> Refactoring of action bar internals

Split action bar implementation details. Factor out common components
into AbsActionBar. Layout rules for the lower half of split action

Change-Id: I6bc39ba6c343055597880a7d4663dd8f30aa4999
9b4bee0f14bbd137b0797127aff2df46a6321ec5 28-Apr-2011 Adam Powell <adamp@google.com> Introducing the split action bar.

Apply (or extend) the theme Theme.Holo.SplitActionBarWhenNarrow or
Theme.Holo.Light.SplitActionBarWhenNarrow to enable splitting the
action bar across both the top and bottom of the screen. This places
the action menu along the bottom, leaving more room at the top for
titles, navigation, and custom views and more room at the bottom for
menu items.

TODO: Refine layout of the action menu when placed at the bottom of
the screen. Make action modes split as well.

Change-Id: I92c91f99c533f26aecf6b828ed041386c4f16922
45c515b0e962ee8ffc901872bcc9f25599ea0e78 22-Apr-2011 Adam Powell <adamp@google.com> Action bar work for phones

Tweak sizing and layouts for action bar on smaller devices. The action
bar's size is now partially dependent on form factor and orientation
to conserve screen space, especially in landscape mode.

Alter the max action menu items for smaller devices. Disallow text on
action menu items with a horizontal width of less than 480dp when an
icon is available.

Remove the "Done" text on the action mode close button. (TODO: get a
properly sized 9-patch resource for this - the current one has an
intrinsic width that is too large.)

When setting an action bar icon as a resource ID, the bar will attempt
to load a mipmapped resource that is the closest available for the
target size.

Change-Id: I2498c640666ade310fdd1d3a2078bd4000b392a2
a86b350977be53146d568bc0736d0f2b4aef8de5 21-Apr-2011 Adam Powell <adamp@google.com> Fix bug 4329016 - Refresh menus properly while in batch update mode

Change-Id: Ia4a4feffb0a77a99e0b241c9cf1d737577d9154d
696cba573e651b0e4f18a4718627c8ccecb3bda0 29-Mar-2011 Adam Powell <adamp@google.com> Refactor menu internals.

In the old world, MenuBuilder and MenuItemImpl were responsible for
generating views for any presentation of a menu. MenuBuilder needed to
know any types and resources involved, and the implied caching
semantics did not work well for menus presented within AdapterViews.

In the new world, the MenuPresenter interface takes over the
responsibility of generating views or adapters for menu
items. MenuBuilder/MenuItemImpl still provide extra metadata tracking
used by these presenters. Mutiple presenters may be active for a
single menu at a time. All of this remains internal framework
implementation details.

BaseMenuPresenter provides a simple base for presenters that treats
the host MenuView more like an AdapterView. This allows for less
rebuilding of views when items are added/removed.

Callbacks have been restructured. Calls that relate to the menu itself
are still handled by MenuBuilder.Callback, but calls related to a
specific presentation of a menu are handled by MenuPresenter.Callback
objects attached to a MenuPresenter.

Also add API to programmatically set divider options for LinearLayout
and hidden API so that ActionBarView can have finer-grained control
over divider placement.

Change-Id: I2265b86a084279822908021aec20dfbadc1bb56b
68f1b78b7b9139a0e34285ff641a664e664a14b8 11-Apr-2011 satok <satok@google.com> Add an API to get the last used input method subtype

Bug: 4075039

- Voice input requires to know the last used input method subtype.

Change-Id: I603a4fb88a2af5195e52188adfa6585ad80304fa
e3797a15fbf769a0abcbe121cfd33b4b658aea1e 21-Mar-2011 satok <satok@google.com> Removed APIs for setCorrectionSpan from InputConnection

("setCorrectionSpan" was added in Id3abc9ea4d11753cd )

- Added a class java doc for CorrectionSpan
- Changed the return type of getSuggestions from Array<CharSequence> to String[]

Change-Id: If5eb091e307a7a40c5b4a70ec1fe6059ecd9fb2d
6bddd8771d05889024778caa78fb1eaae68a0802 24-Mar-2011 Adam Powell <adamp@google.com> Fix bug 4084399 - with usb keyboard, actionbar menuitems with
icon+text take dpad focus twice in row

Fix action menu item layout focusability so that only the full item is
focusable. Fix up listeners appropriately.

Change-Id: I127c36404894869a08c5f4472491e3e596563c5c
adb435835fb9a5f2bb74d29930b239dde18504a7 09-Mar-2011 satok <satok@google.com> Add CorrectionSpan and APIs to pass a secure CorrectionSpan to TextView

- CorrectionSpan is a span which has suggestions made by IME.
This has a function to change the current IME to other IME specified
in this span. For security reasons, only the current IME
is allowed to use this function through InputConnection.
(IME token is used for checking the validity of it.).

- CorrectionSpan stores following information:

flags, subtype Id, InputMethodInfo Id, suggests, locale, original string

Change-Id: Id3abc9ea4d11753cdc4f483a2bb3128f49ba198a
4afd62b18c52a55371ab923d54f93615ad68fd7a 19-Feb-2011 Adam Powell <adamp@google.com> Add an API to listen for window attach/detach events on a View.

Fix bug 3312949 - inconsistent state in MenuPopupHelper

Change-Id: Ie802ada3f8de4cf71c92fcc7c6abce9ba85e7b75
ca51e8788a58f2af3525b7214a675f2d0233e5da 15-Feb-2011 Adam Powell <adamp@google.com> Fix some bugs with MenuPopupHelper and ListPopupWindow

Clean up handling of a few conditions in MenuPopupHelper that the
monkeys manage to trigger around the use of ViewTreeObserver. (bug
3443819, bug 3312949)

Fix a bug where a stale handler message could cause a ListPopupWindow
to reopen itself after being dismissed. (bug 3453607)

Change-Id: I488014767ccee785500862a2572beb35901d173b
f2d7a5d8312b78f84e6cc63277ec7ec874722015 08-Feb-2011 Adam Powell <adamp@google.com> Fix bug 3426162 - Overflow menu closes on its own

Makes populating action menus smarter, doesn't completely empty and
repopulate. Fixes issues where changing menus can leave popups without
an anchor.

Change-Id: I03cc266f0952123c5704a78cdcfc69b77af1915b
857fd9b8562c29913e03ed29288bd1802d37dc60 28-Jan-2011 Joe Onorato <joeo@google.com> Plumb whether an input view is actually visible or not through from the IME
to the status bar.

Bug: 3391067
Change-Id: I049531155bf7ee0b29874916c0b5b0a45b73c09e
5dcc9bd7261d6b19135bf972cf603b355b5316f4 25-Jan-2011 Adam Powell <adamp@google.com> Merge "Fix bug 3387855 - Menu flashes on left side of screen" into honeycomb
e2b03a62e5014ea60e24a989544fa549b493a520 25-Jan-2011 Adam Powell <adamp@google.com> Fix bug 3387855 - Menu flashes on left side of screen

Post popup menu click events rather than executing inline so that the
popup can close undisturbed.

Change-Id: I01481bd37d7921c10c6b8b484eab33f0d25447ff
30bc34f191ca8a009af313fc751e5b4bff6e39a1 25-Jan-2011 Jeff Brown <jeffbrown@google.com> Fix surface frame size reporting.

The SurfaceHolder provided by the wallpaper service was not reporting
the correct size in getSurfaceFrame(). This broke an optimization in
the ImageWallpaper. The old code happened to work because calling
lockCanvas on the SurfaceHolder with a null dirty rectangle happened
to have the side-effect of updating the SurfaceHolder's surface frame
size field because it passed mSurfaceFrame as the dirty rect, causing
mSurfaceFrame to be set to the size of the region to be drawn.

However, relying on this side-effect is wrong. Among other things,
the dirty region could actually be smaller than the surface frame.

This patch fixes WallpaperService, SurfaceView and ViewRoot to ensure
that the surface frame size is always set explicitly and is not modified
by calls to lockCanvas.

Change-Id: I10948f5ec269409ceaf0f7d32b3f6731e9499ebc
1821ff9022f0ea5f5c5d82a96a05f46192d50c26 25-Jan-2011 Adam Powell <adamp@google.com> Fix bug 3178934 - Make MenuBuilder notify its adapters of changes

Change-Id: I28603afbdfdd913aa06f3a07065e27aff1dc524b
c831e3192ccd9b2cf69ec7c973005e578631da3b 24-Jan-2011 Adam Powell <adamp@google.com> Merge "Fix bug 3382994 - android.view.WindowManager$BadTokenException" into honeycomb
55767443adaf31c377ff1d7abf2d3fe7f01bfbaa 24-Jan-2011 Adam Powell <adamp@google.com> Fix bug 3382994 - android.view.WindowManager$BadTokenException

Remove pending callbacks when ActionMenuView is detached.

Change-Id: Ia61e446f60f10dd82476c00b4c11177182e7db60
abbcc241c0db3d9167b5e6baeac1a07f009a05a5 24-Jan-2011 Adam Powell <adamp@google.com> Fix bug 3237638 - make it easy to change a "refresh" AB button/icon
into the indeterminate progress icon

This fixes a bug that caused ActionViews to not be updated properly
after a pass through invalidateOptionsMenu/onPrepareOptionsMenu. Apps
can now set/clear action views to display progress spinner widgets or
anything else on demand.

Change-Id: I138eceb504177c6bb5b86d40a68a82973aa841a5
664644d9e012aa2a28ac96f305b1ce6499ec8806 24-Jan-2011 Joe Onorato <joeo@google.com> visibility ("lights out") API.

1. Views may setSystemUiVisibility() to recommend that
the system chrome (status bar or other UI) show or hide
itself. (This functionality was previously available only
via the FLAG_FULLSCREEN window flag for some SystemUI

2. Views may register a OnSystemUiVisibilityChangedListener
on a view, and find out when the system UI actually
appears or disappears, allowing apps to coordinate the
appearance of their own UI if desired.

Bug: 3241144
Change-Id: Ia1758d94099182d49a1e3688ea2738ae4995b829
b3312b88c1f10cd29f9b55b03d5b41fc429ebfb5 22-Jan-2011 Adam Powell <adamp@google.com> Fix bug 3360851 - actionbar overflow menu button doesn't trigger "audible selection"

Change-Id: I768d35f9752d5f6466708fd191781aa26aefd121
4192e38827b27416410516d4bb0d545c36f4660e 17-Jan-2011 Adam Powell <adamp@google.com> Fix bug 3362446 - NPE in legacy menus

Change-Id: Icf9a0bec46c74ace3acbc85eea45d1d769b699d1
36fced9b211255e2137014e21fb3259042d8da85 17-Jan-2011 Adam Powell <adamp@google.com> Fix bug 3050138 - Action bar does not display correctly when many
action items are added

Rules for action bar overflow:

Items are considered for inclusion in the order specified within the
menu. There is a limit of a total count, optionally including the
overflow menu button itself. This is a soft limit; if an item shares a
group ID with an item previously included as an action item, the new
item will stay with its group and become an action item itself even if
it breaks the max item count limit. This is done to limit the
conceptual complexity of the items presented within an action
bar. Only a few unrelated concepts should be presented to the user in
this space, and groups are treated as a single concept.

There is also a hard limit of consumed measurable space. This limit
may be broken by a single item that exceeds the remaining space, but
no further items may be added. If an item that is part of a group
cannot fit within the remaining measured width, the entire group will
be demoted to overflow. This is done to ensure room for navigation and
other affordances in the action bar as well as reduce general UI

The space freed by demoting a full group cannot be consumed by future
menu items. Once items begin to overflow, all future items become
overflow items as well. This is to avoid inadvertent reordering that
may break the app's intended design.

Change-Id: I878f6b15619059258c91c01f4fe838feac161d6d
06bc9721d8f5db053b51e1c536e746833ad46036 15-Jan-2011 Jeff Brown <jeffbrown@google.com> Merge "Disable soft keyboard when keyboard attached." into honeycomb
4aed78b5056560f499e5953f659fa90a06ecc38a 15-Jan-2011 Jeff Brown <jeffbrown@google.com> Disable soft keyboard when keyboard attached.

Also hide menu shortcuts everywhere until we can get around to
redesigning the menu UI to be more consistent.

Bug: 3306545
Bug: 3330748
Change-Id: I4d4e19525cdfc93d9aae0dcaa1e6266fb552c5bc
9f125d341521efc8535e32e35a641be50d405c36 15-Jan-2011 Adam Powell <adamp@google.com> Fix bug 3339039 - Preserve proper behavior for action button text when

Change-Id: If3529616d5a2b69638b2b0c4070d5ebbb418410c
e7d468410b3a783560d5158a5798cef1b4b67702 14-Jan-2011 Adam Powell <adamp@google.com> Rework action bar menus.

Fix bug 3328810 - remove icons from action bar overflow menu. Popup
menus now will not show icons. Give popup menu items a minimum width.
Alter the sizing of popup menus.

Fix bug 3192635 - revise rules for action menu dividers. Dividers now
appear between the overflow button and any other items next to it, and
anywhere they disambiguate touch targets between text and other
content. Action views are on their own and should include their own
dividers if needed.

Remove dividers from around action bar spinners and tabs.

Change-Id: I935b48b473606ac2adde5e2b251bf30ebe2a3da9
f0ad6e6eaf48ac8f4007232ad0a8511a7b5cfc0e 11-Jan-2011 Adam Powell <adamp@google.com> Fix bug 3333015 - Overflow menu item submenus do not open

Submenus of action bar menus will open as new menus.

Change-Id: I924b87bbea91b0df5e3608ec894530302c0e1d8d
5e3f284baa271cb0fbf90e504d19fdd2e385382e 08-Jan-2011 Adam Powell <adamp@google.com> Fix bug 3200615 - "MenuPopupHelper cannot be used without an anchor"

Add protection against views disappearing before previously posted
Runnables attempt to show a menu anchored to them.

Change-Id: Ia2a322e76665e61feb5bdb92377d5066cb6d5b04
d16c9884bb0bd06f9d7aa1be649226a5df6591ee 07-Jan-2011 Adam Powell <adamp@google.com> Fix bug 3330223 - onCreateOptionsMenu() unable to getActionView()
immediately after orientation change

Inflate action view layout resource earlier so that calls to
getActionView are valid immediately after menu inflation.

Change-Id: I8023328b1a77670ac42a783f6e4b46aa5c2a798e
345a9f4e6d0a1b60664b010385f36456a5fef25d 07-Jan-2011 Adam Powell <adamp@google.com> Fix bug 3212471 - Widget.Holo.ActionButton style and friends now 76% more useful

Change-Id: Ideb37c8a31e37df8fcfc549d12b4b6cafc983ca1
3f476b34049d062942eafcf48396f593e00bd324 04-Jan-2011 Adam Powell <adamp@google.com> Revisiting ActionBar API and layout.

Fix several bugs where ActionBar was ignoring LayoutParams in action

Add convenience methods for toggling display options flags.

Add layout resource version of ActionBar#setCustomView

Fix a bug preventing actionViewClasses from being loaded properly in
menu xml.

Change-Id: I0d9a0b635fd9cfc020bac69369c0c7749c226349
16331c8a1d33defccc5cbb18694def79196c921b 20-Dec-2010 satok <satok@google.com> Add a parameter to InputMethodManagerService.getEnabledSubtype for allowing to select subtypes implicitly if no subtype is enabled.

Bug: 3142286

Change-Id: I92d019d0648c552e6d7695c3530aa81ae054d702
1700ae0aef4e6a3f412b758389955abd049060db 20-Dec-2010 Adam Powell <adamp@google.com> Fix bug 3295495 - Wrong menu item selection in PopupMenu

Change-Id: I17ec55f09dbed9797cb702a7252f6c89e861cc6a
50f784cf2dc2dea8061153ac3a843f60a9d88781 20-Dec-2010 Adam Powell <adamp@google.com> Measure spinner items for sizing the dropdown view.

Only a limited window of items will be measured around the currently
selected item.

Change-Id: Ie0431948fdd564fa4bbeb82dede9e2abebbaee55
aa0b92ce2b51987e9c864164234fe968ab5b9311 14-Dec-2010 Adam Powell <adamp@google.com> Fix bug 3210201 - Popup window wrong size/position when IME hidden

Fixes a case where ViewRoot does not recompute its size properly.
This caused various offsets to get out of sync and the window would
draw improperly.

Change-Id: Id0abb37bbf27b60de2dca4077c21040ec84ef163
cf9cf2f40efc4ccf3f73e6fdb07725d9c00c4f91 09-Dec-2010 Gilles Debunne <debunne@google.com> New API in InputConnection to signal IME's text correction.

Scafolding so that the IME team can start working on this feature.

The animation part in the TextView is missing.

Change-Id: I8225538564370fba1500e3539742a8ab79bdd199
cf0357639e952a87f0d535c82691919af81f058b 06-Dec-2010 Adam Powell <adamp@google.com> Clean up button bar styles

Change-Id: I65b6600f72b92db024f83b63d3ea91abc1cbb96c
189ee18d6c6483ad63cc864267328259e2e00b95 03-Dec-2010 Dianne Hackborn <hackbod@google.com> Implement smarter sizing of WRAP_CONTENT windows.

This extends the view hierarchy's measure pass to allow view to
propagate up to their parent additional information besides just
their measured size. They can now report that their measured width
and/or height should be larger than the size their parent is
limiting them to (even though by definition they need to contrain
their reported measurements to the limits imposed by the parent).

ViewRoot uses this information to determine if it should remeasure
the window with a larger size limit to try to make it fit.

Change-Id: I90af3b7a8ec45d0a5c003fb009857025209d83eb
8515ee846bd76aee86ec5ddfcc4dd1e626dd999c 30-Nov-2010 Adam Powell <adamp@google.com> Fix bug 3240444 - add OnMenuVisibilityListener for action bar.

Fix bug 3180015 - leaking window handles on configuration change for
action bar dropdown menus

Rename ActionBar.NavigationCallback to something more consistent with
the rest of the API.

Change-Id: Ic1fb4c07484c57a72649b30e27d220b18cda6cdf
440aab54cab106030f1edafea4dec1f9d8624f9b 25-Nov-2010 satok <satok@google.com> Removed InputMethodSubtypePicker

Change-Id: I08abac5d65a30c02cc671f4f70e93df25b6c8a92
2820351489537698ad153c6397edf3270455edc5 24-Nov-2010 satok <satok@google.com> Add an API to set InputMethodAndSubtype

Change-Id: I66f1a4c8e0d98705614f12a737e7efcd0263b72a
4e4569dab5c75804b01a19b2d6e6101b445c1c68 19-Nov-2010 satok <satok@google.com> Add an API to get shortcut IMEs

- If there are no selected shortcut IMEs, the most applicable voice input will be selected as a shortcut IME

Change-Id: Ibd0f7ef5101013569c303820a3adc9038a97356d
67ddf9cbd5d7133c7f443cd3c55841ed1109c3a0 17-Nov-2010 satok <satok@google.com> Add a function to get enabledInputMethodAndSubtype

Change-Id: Ie97635343249aa63e33028c2843cab103125ca92
ed8b403cc8066bf76cdf98f8d9906ff810defc5b 16-Nov-2010 Adam Powell <adamp@google.com> Fix bug 3198503 - NPE at MenuPopupHelper.dismiss

Make sure dismiss() can be called even when the popup is not currently

Change-Id: I48077d8b3bfe0df04bceeb056ed54cbd79a6e660
b66d287e3003a0934d5714fbf15e554b3c814906 09-Nov-2010 satok <satok@google.com> Add a setter of InputMethodSubtype to InputMethodManager

- Public API: void setCurrentInputMethodSubtype(int pos)

Change-Id: I55daa19ba924999def544bf841f00bf54852f3e1
735cf38b8c7f8f91ad087511e44fe79018fa61d6 11-Nov-2010 satok <satok@google.com> Add a function to switch back to the last used IME

Change-Id: Iac7bcc2ee16dd04d91a3e75b160622d246788c9a
0458796f1401732b38660794148f4c5e5602f432 12-Nov-2010 Adam Powell <adamp@google.com> Fix bug 3146938 - Menus spawned by ActionBar should hide when action
bar is hidden

Any popup spawned by the private class MenuPopupHelper will be hidden
if its anchor becomes hidden. ("hidden" == !View#isShown())

Fix a bug where ActionBar subtitle views were not going away when
subtitle text was set to null.

Fix a bug when switching out of ActionBar tabbed nav mode with no
active tabs.

Change-Id: I1f30c067156221f96905ac69ab876418ad2e94f8
3915bb845b032dc184dba5e60970b803390ca3ed 05-Nov-2010 Jeff Brown <jeffbrown@google.com> Tell system server whether the app handled input events.

Refactored ViewRoot, NativeActivity and related classes to tell the
dispatcher whether an input event was actually handled by the application.

This will be used to move more of the global default key processing
into the system server instead of the application.

Change-Id: If06b98b6f45c543e5ac5b1eae2b3baf9371fba28
9ab978713ce86fdaefed2407f4f3c998ab0e3178 27-Oct-2010 Adam Powell <adamp@google.com> Action bar API updates - new display options

Change-Id: I55e56cd7aafa53994990079e88ef85e4eb1a0b3f
06487a58be22b100daf3f950b9a1d25c3ea42aa2 29-Oct-2010 satok <satok@google.com> Add a functionarity for showing / hiding IME button on the system bar

Bug: 3077030

- IME communicates with status bar directly.

Change-Id: Ic5b6b5b7a2b8ea62372dcc9b9c36d81b9f2db651
04d50204705c9da52b218f11972da4e7d7a9cb84 25-Oct-2010 satok <satok@google.com> Show Subtype Icon properly in the system status bar

- Added API for getting the current subtype
- Added functions for show/hide status icon

Change-Id: Ifcaad00f7f4c658cdb3af367387476bbf316eb19
86417ea3f8041481a085823a1aa9f66d747231e8 27-Oct-2010 satok <satok@google.com> Remove InputMethodAndSubtypeEnabler and call intent of Settings.ACTION_INPUT_METHOD_AND_SUBTYPE_ENABLER

Change-Id: I467cfba9644ec266f6a98f7aec0886ad205fef4f
85446e95afa480cee2247bb96795fccc8cf812af 23-Oct-2010 Adam Powell <adamp@google.com> Fix bug 3105695 - Action modes in dialogs or other small windows

Overlay action modes now show in their own windows aligned to the top
of the screen.

Change-Id: I81600bbd1bcaeb59fdcf0a959bd35f82165baa2c
d8404b23739b135060ab9a04317a9f8b990cf8ca 13-Oct-2010 Adam Powell <adamp@google.com> Allow icon+text action buttons

Change-Id: I96d1f3958de3ac13cadbab108b87d6bae96e9473
f16888f1e849b0bc0b9c17e5f833c4e2cd54c382 12-Oct-2010 Adam Powell <adamp@google.com> Holo fixes

* Fix up ButtonGroup to behave better.
* Fix bad states with holo list selectors.
* Clean up action mode UI components.
* Change action mode UI to use a text button instead of 'X' to dismiss.
* Fixed spinner dropdowns for Holo.Light

Change-Id: Ifc092bd549ffb539d6a3b2ddd95ebd4b114a441f
be4d68e7b238b8ee879de0481e39c40d3f1683b6 09-Oct-2010 Adam Powell <adamp@google.com> Updated styles and metrics.

* Added preliminary ButtonGroup support for buttons that display as a unit.
* Fixed a bug with MenuBuilder that caused old-style icon menus to fail.
* Added support for explicitly setting line height in text.

Change-Id: I1ba65f09dd9e1bc833d247ebe72052a21e3f99f0
2fbf4de64f0ec5052201cea9519c44d5b1789a40 01-Oct-2010 Adam Powell <adamp@google.com> Holo theme progress and assets!

* Light and dark dialogs
* Checkboxes and radio buttons
* Toggle buttons

Warning! This is still a work in progress. This does not include final metrics.
Some assets (specifically dialogs) are currently misaligned.
47a44916e2fb33cf4751906386d5f5c903b28d8b 06-Oct-2010 satok <satok@google.com> Add InputMethodEnabler for enabling input methods and subtypes

- Copyed functionarity from LanguageSettings.java

TODO: Save enabled InputMethodSubtypes

Change-Id: I7b4fb1a79cb8b3229f88773d261430e23ba7aae2
a53146c5569f8ff5f7eb55e9ad35d23ddacf2add 07-Sep-2010 Christopher Tate <ctate@google.com> Drag/drop APIs and infrastructure

A View initiates a drag-and-drop operation (hereafter just called a "drag")
by calling its startDrag(ClipData) method. Within the processing of that
call, two callbacks are made into the originating View. The first is to
onMeasureDragThumbnail(). Similarly to the core onMeasure() method, this
callback must respond by calling setDragThumbnailDimension(width, height) to
declare the size of the drag thumbnail image that should be used. Following
this, the View's onDrawDragThumbnail(canvas) method will be invoked to
actually produce the bits of the thumbnail image.

If all goes well, startDrag() will return 'true', and the drag is off and
running. (The other arguments to startDrag() provide reconciliation between
the current finger position and where the thumbnail should be placed on
the screen relative to it.)

Potential receipients of the ClipData behind the drag are notified by a
new dispatch mechanism, roughly parallel to motion event dispatch. The core
routine is the View's onDragEvent(event) callback, with the mechanics of
dispatch itself being routed through dispatchDragEvent(event) -- as in
the case of motion events, the dispatch logic is in ViewGroup, with leaf
View objects not needing to consider the dispatch flow.

Several different event 'actions' are delivered through this dispatch

ACTION_DRAG_STARTED: this event is propagated to every View in every window
(including windows created during the course of a drag). It serves as a
global notification that a drag has started with a payload whose matching
ClipDescription is supplied with the event. A View that is prepared to
consume the data described in this event should return 'true' from their
onDragEvent() method, and ideally will also make some visible on-screen
indication that they are a potential target of the drop.

ACTION_DRAG_ENTERED: this event is sent once when the drag point
enters the View's bounds. It is an opportunity for the View to set up
feedback that they are the one who will see the drop if the finger goes
up now.

ACTION_DRAG_LOCATION: when the drag point is over a given View, that
View will receive a stream of DRAG_LOCATION events, providing an
opportunity for the View to show visual feedback tied to the drag point.

ACTION_DRAG_EXITED: like DRAG_ENTERED, but called when the drag point
leaves the View's bounds. The View should undo any visuals meant to
emphasize their being the hovered-over target.

ACTION_DROP: when the drag ends at a given point, the View under that
point is sent this event, with the full ClipData of the payload.

ACTION_DRAG_ENDED: paralleling the DRAG_STARTED action, this is the global
broadcast that the drag has ended and all Views should return to their
normal visual state. This happens after the DROP event.

Change-Id: Ia8d0fb1516bce8c735d87ffd101af0976d7e84b6
e4679f1ed2ef044468d4a37f6e220c414620685a 28-Sep-2010 Adam Powell <adamp@google.com> Temporary hack to make context menu text visible on holo dialogs.

Real fix for this to come. MenuBuilder needs to not hardcode themes
and dialogs shouldn't either.

Change-Id: I393969acd1ef6956d7299cb2eff46708ce812d1d
ab751aa085433e9f735d2e7603459c6c7e9d2fb0 14-Sep-2010 satok <satok@google.com> Add methods for managing subtypes

- added showInputMethodSubtypePicker to public API
-- show the selector dialog for subtypes
- added getter, setter and event handler to InputMethodManagerService
- extract InputMethodSubtype to the top level class for using it in aidl
- TODO: make an enabler for input method subtypes
- TODO: handle the event of changing an input method subtype in LatinIME

Change-Id: I49f8c6675ac4b06511635d14a37bd398738eff33
0b2d306e7000f4c0c6ad4e00d494bb401d8a9fc2 15-Sep-2010 Adam Powell <adamp@google.com> Style new popup widgets.

Change-Id: I208ed292afd9919071778baa9ea61d7ca9e7743c
cf78b3e5101349fdddbde14b3a55140f9562ae66 13-Sep-2010 Adam Powell <adamp@google.com> Add support for custom action views in ActionBar menus

Change-Id: Ic7850bc00fcfe95d805dd6a1b15cb5d413942475
b3f245c30c022de8a26e016b7c9d5f13747b2868 11-Sep-2010 Adam Powell <adamp@google.com> Allow the theme to affect action bar menus

Change-Id: Ie914881de626415886289e830fb1ff166ce13159
079fd1c0a329b0fbd3761abe2e900a941131efed 09-Sep-2010 Adam Powell <adamp@google.com> Make action buttons more style-based

Change-Id: Ia7ef4da8d8004f1b3809b4883aafc541695d235a
62ecf53538ce46662a71f3026cf3aa5b5224cd6a 09-Sep-2010 Mathias Agopian <mathias@google.com> am 3fa7d8af: am 9bfb060a: Merge "Force wallpaper surface to 565." into gingerbread

Merge commit '3fa7d8af6560de07ef673f73308f7e51de64e4ec'

* commit '3fa7d8af6560de07ef673f73308f7e51de64e4ec':
Force wallpaper surface to 565.
62bf4a0283e855e2fb5f40f36909501e5b4a09eb 09-Sep-2010 Mathias Agopian <mathias@google.com> Force wallpaper surface to 565.

This is to maintain backward compatibility with badly programmed
GL wallpapers. Wallpapers can call SurfaceHolder.setFormat() to
request a different format.

Change-Id: Ib42b0cf6c7040d1300cad239c3acfd5c4c6cd326
00df32d4396a65752b7b9a2f8ceb6292ed2384cf 02-Sep-2010 Adam Powell <adamp@google.com> Handle disabled state for action menu items

Change-Id: Id80926aef5f8f2f47703a7b1e3da38e6117edb30
f956fd6d1325fcb2e5ce9b8dac95a9a40824ead8 27-Aug-2010 Amith Yamasani <yamasani@google.com> am 4b4114d1: am a90b7f01: Add methods to InputConnection: setComposingRegion() to select a region of text for correction, and getSelectedText() to return the selected text.

Merge commit '4b4114d155b4f3d5cc4179934cb6403b1776261d'

* commit '4b4114d155b4f3d5cc4179934cb6403b1776261d':
Add methods to InputConnection: setComposingRegion() to select a region of text for correction, and getSelectedText()
a90b7f0125389b9e1040d2be82aad4ef74ea6071 26-Aug-2010 Amith Yamasani <yamasani@google.com> Add methods to InputConnection: setComposingRegion() to select a region of text for correction, and getSelectedText()
to return the selected text.


The TextView may choose to highlight the text in some way (underline for now) to indicate
that the text is selected for correction, if the IME wants to provider alternatives.

Choosing an alternative in the IME can then call IC.commitText() to replace the highlighted
(not selected) text with a different candidate.

This change also ensures that any existing spans/styles are not wiped out. So we can now
correct rich text as well.


This is a convenience to get the selected text instead of using extracted text that is
more heavy weight. Existing getTextBeforeCursor() and getTextAfterCursor() fail to
retrieve the selected text, only what's before and after the selection.

Change-Id: Ieb5ecd5ff947ea04958589f501e7bd5228e00fb5
6c6f575423d6718c3ff322224c1520901ce881e1 21-Aug-2010 Adam Powell <adamp@google.com> More ActionBar/config change tweaks. Preserve open overflow menus

Change-Id: Ic8ad2b1e3909fbf84ff4d852ae046a9f9508477c
773b1b97fc0f01efc8cf1e17a1250a9b654b1b85 21-Aug-2010 Adam Powell <adamp@google.com> Make ActionBar menus handle configuration changes gracefully.

Change-Id: I2c9ca846143b313ef9d2a01dff81385e0693518d
4d9861e7ec8488634d316b20981464de2ab7b6fe 17-Aug-2010 Adam Powell <adamp@google.com> Bug 2923440 - ActionMode buttons show if room by default - different approach.

This enforces the new policy if menu items are created
programmatically instead of inflated from menu xml.

This reverts commit fbb72fdbe58142e0f1f7ffa17f009b0d829b33c3.

Change-Id: I102e93b80a3248634e98e0d7dc3321bf1d8b263b
fbb72fdbe58142e0f1f7ffa17f009b0d829b33c3 17-Aug-2010 Adam Powell <adamp@google.com> Fix bug 2923440 - ActionMode buttons show as action by default

The MenuInflater returned by ActionModes will set the default
showAsAction value to "ifRoom" if not otherwise specified.

Change-Id: I86045dc4e877a97a3464a1a5f44d8d1e2120b086
f6148c53f93978af678cc0559a4417b608a33ae1 12-Aug-2010 Adam Powell <adamp@google.com> Fix bug 2911311 and bug 2911700

Integrate the action bar overflow menu better with the options menu lifecycle.

Change-Id: I1e3fdba04b01718c3ee3367f92e5dabe7bc84b5c
3d3da27ab394108fd51771616cca3279baae99d1 12-Aug-2010 Adam Powell <adamp@google.com> Fix bug 2911529

Change-Id: I18d7f5d8a300bbc73ef721c5d4deb200d6a490b8
6b336f835d637853800b94689375a03f337139a4 11-Aug-2010 Adam Powell <adamp@google.com> ActionBar overlay mode, height fetching, show/hide

Change-Id: Ie931ed26ec885d891d6733132b517a53d95f8491
f75eeb28def26798682748aa5dedabebac86bb6a 11-Aug-2010 Adam Powell <adamp@google.com> Fix bug 2908822 - open/closePanel should do the right thing with ActionBars

Change-Id: Ic77f9dee864d17046f69c78a1e6d96a49b5c6180
4be0d52125b88dc992a4c500edbe95bf55484e0b 04-Aug-2010 Adam Powell <adamp@google.com> Added android.widget.PopupMenu

Change-Id: Id507cf93ebd0484f141a0a44266b883c01aa10db
1f9c7afc5a06576e327a4b1c12688202f53d9462 03-Aug-2010 Adam Powell <adamp@google.com> Add support for action buttons without an icon.

Change-Id: I026bb7463e7a73419dbaf79950d579ba05d04ea8
a8a72c38fec3879f5d346840b0d186d5903931b8 01-Aug-2010 Jeff Sharkey <jsharkey@android.com> Populate accessibility field on ActionBar items.

When building an ActionMenuItemView, set the content description based
on the item title. Fixes http://b/2885106

Change-Id: I101bbc6db7080ce08eed1bbb401c45329da2ab53
9168f0b170c6a99371ae46e7d3f5d66c8c4c930d 03-Aug-2010 Adam Powell <adamp@google.com> Add ActionMode#getMenuInflater() for easier menu inflation in
ActionMode.Callback implementations

Change-Id: If9e7ab0d65598bab537add6c6a452a55c093064f
c9ae2a24dc1fa274ca0916c91a2e9a2764ba4bb3 28-Jul-2010 Adam Powell <adamp@google.com> Add support for setting action mode titles/subtitles by resource ID

Change-Id: Ia0d5234cc16f325eeb29127fb87e2616d67379ec
5d27977f9da482627ceb19317a2cd70467aff046 28-Jul-2010 Adam Powell <adamp@google.com> Action modes without action bar

Change-Id: I0367ab35e598a17980bd373b30828175f6283acc
b366bbae2b5a3009893ef64246e3430cea4b7736 20-Jul-2010 Adam Powell <adamp@google.com> Make sure action bar context modes reserve space for overflow menus on all devices.

Change-Id: I393f041efef3852b7f3ee57c6a4c26ba176b2702
8028dd32a4a04154050220dd0693583d5b750330 15-Jul-2010 Adam Powell <adamp@google.com> Overflow menu for action bars.

The overflow menu replaces the normal options menu panel for
activities with an action bar. It always appears as the rightmost
action button and is displayed as a dropdown menu. The menu key
summons and dismisses the overflow menu instead of the options panel
where applicable.

Change-Id: I0b4fa7e36f35ab12e2f0c1d12bec79ccab8cc4b1
b75fa30aaf03d9e425d150b452501e5df0621351 16-Jul-2010 Jeff Brown <jeffbrown@google.com> resolved conflicts for merge of aca672ba to master

Change-Id: I7ae11fca0acdbf513a4870226d0d3e3cafbe9a08
c5ed5910c9ef066cec6a13bbb404ec57b1e92637 15-Jul-2010 Jeff Brown <jeffbrown@google.com> Add support for new input sources.

Added several new coordinate values to MotionEvents to capture
touch major/minor area, tool major/minor area and orientation.

Renamed NDK input constants per convention.

Added InputDevice class in Java which will eventually provide
useful information about available input devices.

Added APIs for manufacturing new MotionEvent objects with multiple
pointers and all necessary coordinate data.

Fixed a bug in the input dispatcher where it could get stuck with
a pointer down forever.

Fixed a bug in the WindowManager where the input window list could
end up containing stale removed windows.

Fixed a bug in the WindowManager where the input channel was being
removed only after the final animation transition had taken place
which caused spurious WINDOW DIED log messages to be printed.

Change-Id: Ie55084da319b20aad29b28a0499b8dd98bb5da68
2388ad9eef109fa7f63c196c819c83f0376f0645 14-Jul-2010 Dianne Hackborn <hackbod@google.com> am f8d9379b: am d76b67c3: IME events are now dispatched to native applications.

Merge commit 'f8d9379bd834573feca085284970cf686993c330'

* commit 'f8d9379bd834573feca085284970cf686993c330':
IME events are now dispatched to native applications.
d76b67c340d1564abf8d14d976fdaf83bf2b3320 14-Jul-2010 Dianne Hackborn <hackbod@google.com> IME events are now dispatched to native applications.

And also:

- APIs to show and hide the IME, and control its interaction with the app.
- APIs to tell the app when its window resizes and needs to be redrawn.
- API to tell the app the content rectangle of its window (to layout
around the IME or status bar).

There is still a problem with IME interaction -- we need a way for the
app to deliver events to the IME before it handles them, so that for
example the back key will close the IME instead of finishing the app.

Change-Id: I37b75fc2ec533750ef36ca3aedd2f0cc0b5813cd
4267534d1c42af847ed0cefd1c88c99f66b36571 10-Jul-2010 Adam Powell <adamp@google.com> Action Bar now supports submenus as popups.

Change-Id: I1691c16081b3474ed6d6e406f91f5f74a2dc8fcb
1a33274d28a3174b9062ae0dcce77bf1d68cd463 09-Jul-2010 Jeff Brown <jeffbrown@google.com> resolved conflicts for merge of 167449e5 to master

Change-Id: Ib448e69a726eb45b5c9099d2574e40b8345eee67
00fa7bdd69f0868fd17ea7c881c771d785b2fbbd 03-Jul-2010 Jeff Brown <jeffbrown@google.com> More native input dispatch work.

Removed old input dispatch code.
Refactored the policy callbacks.
Pushed a tiny bit of the power manager state down to native.
Fixed long press on MENU.
Made the virtual key detection and cancelation a bit more precise.

Change-Id: I5d8c1062f7ea0ab3b54c6fadb058c4d5f5a9e02e
89e0645b4157961e8c465eb9c819f965fdb453d8 24-Jun-2010 Adam Powell <adamp@google.com> Added context modes to ActionBar API.

Change-Id: I7c3e782cbf01be7bc671b377fb4d706040888833
f92f8686f982c62a609a2087383a77a24d126992 23-Jun-2010 Dianne Hackborn <hackbod@google.com> am 98f7aed6: am 1e4b9f39: Remove InputConsumer, replacing with InputQueue.

Merge commit '98f7aed66b54c365f816fe990de978f61155cde1'

* commit '98f7aed66b54c365f816fe990de978f61155cde1':
Remove InputConsumer, replacing with InputQueue.
1e4b9f3936d6f357e89360293e05a0e16d5fa440 23-Jun-2010 Dianne Hackborn <hackbod@google.com> Remove InputConsumer, replacing with InputQueue.

Change-Id: Ib06907278457aaee842b123adc072840ca3602d8
320742b15a710ede57862eee170945da26ef0172 23-Jun-2010 Dianne Hackborn <hackbod@google.com> am e3e2883f: am e24a60aa: Merge "First stab at attaching native event dispatching." into gingerbread

Merge commit 'e3e2883f2232007174ead562610eb01201890d9b'

* commit 'e3e2883f2232007174ead562610eb01201890d9b':
First stab at attaching native event dispatching.
a95e4cb62f3642cb190d032dbf7dc40d9ecc6973 19-Jun-2010 Dianne Hackborn <hackbod@google.com> First stab at attaching native event dispatching.

Provides the basic infrastructure for a
NativeActivity's native code to get an object representing
its event stream that can be used to read input events.

Still work to do, probably some API changes, and reasonable
default key handling (so that for example back will still

Change-Id: I6db891bc35dc9683181d7708eaed552b955a077e
7ade1be822ed05a143b059319dccd5e9f623b56d 17-Jun-2010 Adam Powell <adamp@google.com> Action bar button layout changes.

Theme attribute added for spacing between action buttons. Action
buttons are now allowed to fill up to half of the total action bar's

Change-Id: Iabbc67e695684529dfae9681d4d9580cd30839d0
96675b1df3969f2d313b68f60ed9fa36805db8ce 11-Jun-2010 Adam Powell <adamp@google.com> Merging ActionBar menu with options menu.

Options menu items may now specify if they would like to appear in the
action bar. Menu items defined in xml may set the showAsAction
attribute to one of "never"(default), "ifRoom", or "always". Action
buttons are populated as follows:

* All showAsAction="always" items become action buttons, even if it
would crowd the navigation area of the action bar.

* If there is space remaining, showAsAction="ifRoom" items are added
until no more will fit comfortably.

Action button click events are now handled by the
onOptionsItemSelected method used by the standard options menu.

The construction of options menus now happens earlier in order to
provide data to the action bar. Activities with an action bar can now
expect to have onCreateOptionsMenu called when activity start-up is

Activity#invalidateOptionsMenu can be used to force a refresh of menu
items where the previous API would use ActionBar#updateActionMenu.

Change-Id: If52ddf1cf9f6926206bcdeadf42072ea2c24fab9
8e03b7566c42621fda01186b66b019142eb84fbf 14-Jun-2010 Jeff Brown <jeffbrown@google.com> resolved conflicts for merge of 9e660c82 to master

Change-Id: Ic4bd85cbaa5b9a10dcb474a0dad46490bf967e43
46b9ac0ae2162309774a7478cd9d4e578747bfc2 23-Apr-2010 Jeff Brown <jeffbrown@google.com> Native input dispatch rewrite work in progress.

The old dispatch mechanism has been left in place and continues to
be used by default for now. To enable native input dispatch,
edit the ENABLE_NATIVE_DISPATCH constant in WindowManagerPolicy.

Includes part of the new input event NDK API. Some details TBD.

To wire up input dispatch, as the ViewRoot adds a window to the
window session it receives an InputChannel object as an output
argument. The InputChannel encapsulates the file descriptors for a
shared memory region and two pipe end-points. The ViewRoot then
provides the InputChannel to the InputQueue. Behind the
scenes, InputQueue simply attaches handlers to the native PollLoop object
that underlies the MessageQueue. This way MessageQueue doesn't need
to know anything about input dispatch per-se, it just exposes (in native
code) a PollLoop that other components can use to monitor file descriptor
state changes.

There can be zero or more targets for any given input event. Each
input target is specified by its input channel and some parameters
including flags, an X/Y coordinate offset, and the dispatch timeout.
An input target can request either synchronous dispatch (for foreground apps)
or asynchronous dispatch (fire-and-forget for wallpapers and "outside"
targets). Currently, finding the appropriate input targets for an event
requires a call back into the WindowManagerServer from native code.
In the future this will be refactored to avoid most of these callbacks
except as required to handle pending focus transitions.

End-to-end event dispatch mostly works!

To do: event injection, rate limiting, ANRs, testing, optimization, etc.

Change-Id: I8c36b2b9e0a2d27392040ecda0f51b636456de25
9b081a809a7e39c6877a9606289ada4680f3d91f 19-May-2010 Dianne Hackborn <hackbod@google.com> resolved conflicts for merge of 8b625a95 to master

Change-Id: I03264c6aad2d87629f9154f5c390cb36ce08efba
dc8a7f69d7df5f1ca29763995a0d55acf7936fc6 10-May-2010 Dianne Hackborn <hackbod@google.com> Add new API to take over a window's Surface.

Change-Id: Iad6245faadc95f19ea63c8e229a1c02e9188f69e
33b974393b6fadcefc896ec4a0f9b66724f61e9f 20-Apr-2010 Adam Powell <adamp@google.com> ActionBar added to framework, integrated with Activity and styles.
Added onClick attribute support to menus in MenuInflater.

Change-Id: I739771b4f249d87a0d8b15969f3d526b099067a1
d135f74b972b88de2ae8b11b3ada886d29c1e25d 05-May-2010 Adam Powell <adamp@google.com> am 151af19b: Fix bug 2651076 - Catch/log ActivityNotFoundException in MenuItemImpl.invoke()

Merge commit '151af19bf409a47424ddaa51e1ac4a0c532c4eb6' into froyo-plus-aosp

* commit '151af19bf409a47424ddaa51e1ac4a0c532c4eb6':
Fix bug 2651076 - Catch/log ActivityNotFoundException in MenuItemImpl.invoke()
151af19bf409a47424ddaa51e1ac4a0c532c4eb6 04-May-2010 Adam Powell <adamp@google.com> Fix bug 2651076 - Catch/log ActivityNotFoundException in MenuItemImpl.invoke()

Change-Id: I841a37349fbc6af33073aaecae903eb8999cc5bd
128f1a87c55a291109ce521a92308c186e5d2db5 03-Apr-2010 Adam Powell <adamp@google.com> am 6024ca5c: Fix bug 2185026 - back button in context menu now calls onContextMenuClosed()

Merge commit '6024ca5c90203b6c33acc6adfbf7e4e613549a0a' into froyo-plus-aosp

* commit '6024ca5c90203b6c33acc6adfbf7e4e613549a0a':
Fix bug 2185026 - back button in context menu now calls onContextMenuClosed()
6024ca5c90203b6c33acc6adfbf7e4e613549a0a 03-Apr-2010 Adam Powell <adamp@google.com> Fix bug 2185026 - back button in context menu now calls onContextMenuClosed()

Change-Id: I6c16879a8ad8e4651d21f639a620a936bf991f8d
c89704a77f9c51ebd8c1cc6863e15ff402a56c86 29-Mar-2010 The Android Open Source Project <initial-contribution@android.com> merge from open-source master

Change-Id: I6a8109d11dabc579501c598ab2927cf802797130
22cb2f46fdbb9a904ac394f488278fb47e2d4734 16-Mar-2010 Adam Powell <adamp@google.com> Fix monkey bug 2512055

Don't blow up when there aren't any menu items to layout in IconMenuView.

Change-Id: Ief08f0f8ed89aec4959d4d80cfd066dbe92dc3aa
15a4d2ffd04dc6c70f2cd17dae12ac6bc14c69ab 12-Mar-2010 Kenny Root <kroot@google.com> Add correct copyright headers to multiple files

Format for the list of changes shows the origin commit reference followed
by the file name.

33931-p9 awt/org/apache/harmony/awt/gl/font/AndroidGlyphVector.java
33931-p9 awt/org/apache/harmony/awt/gl/image/PngDecoderJava.java
133776-p9 core/java/android/app/IntentService.java
127013-p9 core/java/android/appwidget/AppWidgetHost.java
27863-p9 core/java/android/bluetooth/BluetoothAudioGateway.java
60765-p9 core/java/android/content/SyncResult.java
43920-p9 core/java/android/content/pm/ActivityInfo.java
43920-p9 core/java/android/content/pm/ApplicationInfo.java
43920-p9 core/java/android/content/pm/InstrumentationInfo.java
43920-p9 core/java/android/content/pm/PackageInfo.java
44103-p9 core/java/android/content/pm/PackageItemInfo.java
68960-p9 core/java/android/content/pm/PackageStats.java
43920-p9 core/java/android/content/pm/ResolveInfo.java
43920-p9 core/java/android/content/pm/ServiceInfo.java
60641-p9 core/java/android/content/res/Configuration.java
60734-p9 core/java/android/content/res/TypedArray.java
137672-p9 core/java/android/inputmethodservice/ExtractButton.java
123112-p9 core/java/android/inputmethodservice/ExtractEditText.java
119291-p9 core/java/android/inputmethodservice/IInputMethodSessionWrapper.java
112946-p9 core/java/android/inputmethodservice/IInputMethodWrapper.java
115078-p9 core/java/android/os/BatteryStats.java
124790-p9 core/java/android/text/style/UpdateAppearance.java
45083-p9 core/java/android/view/RawInputEvent.java
101491-p9 core/java/android/view/inputmethod/EditorInfo.java
114701-p9 core/java/android/view/inputmethod/ExtractedText.java
123112-p9 core/java/android/view/inputmethod/ExtractedTextRequest.java
119291-p9 core/java/com/android/internal/os/HandlerCaller.java
129279-p9 core/java/com/android/internal/os/PkgUsageStats.java
114701-p9 core/java/com/android/internal/view/IInputConnectionWrapper.java
114701-p9 core/java/com/android/internal/view/InputConnectionWrapper.java
84364-p9 opengl/java/android/opengl/EGLLogWrapper.java
11355-p9 opengl/tools/glgen/src/CFunc.java
11355-p9 opengl/tools/glgen/src/CType.java
11355-p9 opengl/tools/glgen/src/CodeEmitter.java
11355-p9 opengl/tools/glgen/src/GenerateGL.java
11355-p9 opengl/tools/glgen/src/JFunc.java
11355-p9 opengl/tools/glgen/src/JType.java
11355-p9 opengl/tools/glgen/src/JniCodeEmitter.java
11355-p9 opengl/tools/glgen/src/ParameterChecker.java
57236-p9 services/java/com/android/server/status/AnimatedImageView.java
66754-p9 services/java/com/android/server/status/CloseDragHandle.java
57188-p9 services/java/com/android/server/status/DateView.java
46928-p9 services/java/com/android/server/status/ExpandedView.java
70590-p9 services/java/com/android/server/status/FixedSizeDrawable.java
45968-p9 services/java/com/android/server/status/IconData.java
57470-p9 services/java/com/android/server/status/IconMerger.java
82719-p9 services/java/com/android/server/status/LatestItemView.java
45968-p9 services/java/com/android/server/status/NotificationData.java
66754-p9 services/java/com/android/server/status/NotificationLinearLayout.java
57458-p9 services/java/com/android/server/status/NotificationViewList.java
45968-p9 services/java/com/android/server/status/StatusBarException.java
45968-p9 services/java/com/android/server/status/StatusBarIcon.java
46130-p9 services/java/com/android/server/status/StatusBarNotification.java
45968-p9 services/java/com/android/server/status/StatusBarView.java
46199-p9 services/java/com/android/server/status/Ticker.java
62286-p9 services/java/com/android/server/status/TickerView.java
57188-p9 services/java/com/android/server/status/TrackingView.java
86041-p9 telephony/java/android/telephony/PhoneStateListener.java
87020-p9 telephony/java/com/android/internal/telephony/TelephonyIntents.java
136269-p9 telephony/java/com/android/internal/telephony/gsm/SpnOverride.java
34409-p9 tests/FrameworkTest/src/com/android/frameworktest/FrameworkTestApplication.java
55717-p9 tests/FrameworkTest/src/com/android/frameworktest/performance/InvalidateCycle.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/AutoCompleteTextViewActivityLandscape.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/AutoCompleteTextViewActivityPortrait.java
129372-p9 tests/ImfTest/src/com/android/imftest/samples/BigEditTextActivityNonScrollablePanScan.java
129372-p9 tests/ImfTest/src/com/android/imftest/samples/BigEditTextActivityNonScrollableResize.java
129372-p9 tests/ImfTest/src/com/android/imftest/samples/BigEditTextActivityScrollablePanScan.java
129372-p9 tests/ImfTest/src/com/android/imftest/samples/BigEditTextActivityScrollableResize.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/BottomEditTextActivityPanScan.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/BottomEditTextActivityResize.java
127341-p9 tests/ImfTest/src/com/android/imftest/samples/ButtonActivity.java
129347-p9 tests/ImfTest/src/com/android/imftest/samples/DialogActivity.java
129372-p9 tests/ImfTest/src/com/android/imftest/samples/EditTextActivityDialog.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/ManyEditTextActivityNoScrollPanScan.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/ManyEditTextActivityScrollPanScan.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/ManyEditTextActivityScrollResize.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/OneEditTextActivityNotSelected.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/OneEditTextActivitySelected.java
25959-p9 tests/framework-tests/src/android/test/FrameworkTests.java
46162-p9 tests/framework-tests/src/com/android/internal/http/multipart/MultipartTest.java
77101-p9 tools/layoutlib/bridge/tests/com/android/layoutlib/bridge/NinePatchTest.java
9788976b1465ce982b5ae7c741345edd0ecd9322 core/java/android/accounts/AuthenticatorDescription.java
53332883543868fb83e111a07306368b7772b340 core/java/android/app/UiModeManager.java
93e7e22ec91dbc641d10ca6d70423e1357a95bba core/java/android/app/FullBackupAgent.java
328c0e7986aa6bb7752ec6de3da9c999920bb55f core/java/android/content/CursorEntityIterator.java
307da1a46b4c9b711bafe8fbaaa6b98e8868c18e core/java/android/content/SyncQueue.java
307da1a46b4c9b711bafe8fbaaa6b98e8868c18e core/java/android/content/SyncOperation.java
eb034652c2037a47ebfd99779e8383bb8bb528af core/java/android/content/pm/LabeledIntent.java
49237345d83e62fdb9eb8d50b13ad086636a04fa core/java/android/content/pm/FeatureInfo.java
a2b6c3775ed6b8924232d6a01bae4a19740a15f8 core/java/android/content/pm/PackageInfoLite.java
3ecd5f437580e49d80beecd29489d5fb1f7a7db0 core/java/android/content/pm/RegisteredServicesCacheListener.java
5ebbb4a6b3e16f711735ae0615b9a9ea64faad38 core/java/android/content/pm/XmlSerializerAndParser.java
c4516a7b62de525e3d6d5e76851bdfaf12c11f05 core/java/android/database/sqlite/SQLiteTransactionListener.java
9bbc21a773cbdfbef2876a75c32bda5839647751 core/java/com/android/internal/backup/LocalTransport.java
21f1bd17b2dfe361acbb28453b3f3b1a110932fa core/java/com/android/internal/content/PackageMonitor.java
4c62fc0e1e5ea9c69a12a7d1cf8b3ec8b2d114a3 core/java/com/android/internal/view/BaseSurfaceHolder.java
4c62fc0e1e5ea9c69a12a7d1cf8b3ec8b2d114a3 core/java/com/android/internal/view/BaseIWindow.java
e540833fdff4d58e37c9ba859388e24e2945ed45 core/java/com/android/internal/os/SamplingProfilerIntegration.java
192ab903887bbb8e7c7b6da5c581573850e30f46 core/tests/coretests/src/android/widget/expandablelistview/PositionTesterContextMenuListener.java
1619367ab823150fa8856d419abe02ceb75886f1 media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/MediaProfileReader.java
27f8002e591b5c579f75b2580183b5d1c4219cd4 opengl/tools/glgen/stubs/gles11/glGetString.java
560814f6b11abe83ff0c4ed18cac015c276b3181 opengl/tools/glgen/stubs/gles11/glGetProgramInfoLog.java
560814f6b11abe83ff0c4ed18cac015c276b3181 opengl/tools/glgen/stubs/gles11/glGetShaderInfoLog.java
560814f6b11abe83ff0c4ed18cac015c276b3181 opengl/tools/glgen/stubs/gles11/glShaderSource.java
1c4907ee77392afb768c2f088e0dedbe4239f6fb opengl/tools/glgen/src/GenerateGLES.java
1c4907ee77392afb768c2f088e0dedbe4239f6fb opengl/tools/glgen/src/Jsr239CodeEmitter.java
1c4907ee77392afb768c2f088e0dedbe4239f6fb opengl/tools/glgen/src/GLESCodeEmitter.java
69e21f5f6e0d04539cd92848ea009dd615d88c2c opengl/tests/gldual/src/com/android/gldual/TriangleRenderer.java
c028be4f3b8c7476b46859f66c3f33d528adf181 packages/DefaultContainerService/src/com/android/defcontainer/DefaultContainerService.java
7c6efa13f129dbae5319f0981a430d4662f43354 tests/BrowserPowerTest/src/com/android/browserpowertest/PowerMeasurement.java
7c6efa13f129dbae5319f0981a430d4662f43354 tests/BrowserPowerTest/src/com/android/browserpowertest/PowerTestActivity.java
7c6efa13f129dbae5319f0981a430d4662f43354 tests/BrowserPowerTest/src/com/android/browserpowertest/PowerTestRunner.java
df8a3f31d871db25e952972c2eb346a71186e9e3 tests/BrowserTestPlugin/src/com/android/testplugin/TestPlugin.java
cfaef699e1dfb3a75d5b51f3b15816f13670fd51 tests/permission/src/com/android/framework/permission/tests/ActivityManagerPermissionTests.java
cfaef699e1dfb3a75d5b51f3b15816f13670fd51 tests/permission/src/com/android/framework/permission/tests/ServiceManagerPermissionTests.java
cfaef699e1dfb3a75d5b51f3b15816f13670fd51 tests/permission/src/com/android/framework/permission/tests/WindowManagerPermissionTests.java

Copyright header moved to top in following file:


Change-Id: I3c3198be5a0ba36e18679ed834170432bf0b8418
c9b21c1a5358446fe1ba28fdf06fe6f9fbdd091e 12-Mar-2010 Kenny Root <kroot@google.com> Add copyright header for new file

Change-Id: I441c4e002eb8729e7e0ae7a2ab6a38d5dffa0049
ac3587d7ced544091264a35249dbd3f9531a3cab 11-Mar-2010 Dianne Hackborn <hackbod@google.com> Fix issue #2461567: Home screen redraw messed up

Make sure that we have a window redraw itself after resizing its

Also includes a little optimization to avoid having an extra thread
for the ImageWallpaper.

Change-Id: I88d1eb66e3116077f48e6f9086a5b6459505ef69
0c33ed2992b2eb484c229fd3322df14d97c10caa 23-Feb-2010 Devin Taylor <devin.taylor@garmin.com> Fix Memory Leak When Switching Input Methods

Fixes a memory leak when input methods are switched. Uses a variety of methods
to avoid holding a reference to the InputMethodService which created the binders,
which was leaking those InputMethodServices.

See http://code.google.com/p/android/issues/detail?id=6661 for reproduction steps.
e36d6e277e49475076b7872d36ea6a5c5b996e9d 18-Feb-2010 Dianne Hackborn <hackbod@google.com> Work on issue #2263557: PMF3000 showing hybrid of portrait and landscape modes

This is a bunch of reworking of how configuration changes are handled:

- When orientation is changing (for whatever reason), the window manager no
longer tries to pre-emptively compute a new configuration. Instead, it
just determines change is happening and tells the window manager.
- The activity manager is now responsible for giving the window manager the
final configuration it is using. This is both so it knows whem the
activity manager is done with its configuration updates, and so the window
manager can use the "real" configuration.
- When an orientation or other configuration change is happening, freeze the
screen and keep it frozen until the activity manager has given us the
final configuration.
- The window manager can now send new configurations to its clients during
its layout pass, as part of a resize, if it has determined that it has
changed. This allows for a new View.onConfigurationChanged() API for any
view to easily find out when the configuration has changed.
- ViewRoot now also works with the activity thread to make sure the process's
current resources are updated to the new configuration when it receives one
from a window. This ensures that at the time onConfigurationChanged() and
other view callbacks are happening, the correct configuration is in force.
- There is now a sequence number associated with Configuration, which
ActivityThread uses to avoid using stale configurations. This is needed now
that it can receive configurations asynchronously from both the window
manager and activity manager.
- The hack for keeping the locale has been removed, and underlying problem
fixed by having Configuration initialize its locale to "unknown" instead of
a valid default value.
980a938c1c9a6a5791a8240e5a1e6638ab28dc77 09-Jan-2010 Romain Guy <romainguy@android.com> Deprecate fill_parent and introduce match_parent.
Bug: #2361749.
9db3d07b9620b4269ab33f78604a36327e536ce1 13-Nov-2009 Jean-Baptiste Queru <jbq@google.com> eclair snapshot
bf6956b1d95442e9d9c483894d578fe6b7044cbb 10-Nov-2009 Marco Nelissen <marcone@google.com> Add a way for wallpapers to know the delta between virtual screens.
7580493b014a2c7ea883cd291255798dc72ebbff 21-Oct-2009 Dianne Hackborn <hackbod@google.com> Implement feature #2117336: Create event communication APIs for live wallpaper

Note: currently only implements an async version (no result), and not yet
actually tested.

Change-Id: Id47ed045a4b0eb309ea8c58daf41a0e03eff1d3a
e0fc838ebc18e327a399902cacae16bdbbc09627 24-Sep-2009 Nicolas Roard <nicolas@android.com> Fix the shortcuts
ffa424800d0338b8b894aef2ea1e3e3344cbda7a 24-Sep-2009 Dianne Hackborn <hackbod@google.com> Fix issue #2133206: dialogs/menus should auto-dismiss when screen turns off

Lot of infrastructure for more things to go away when "clear system dialogs"
happens, and now do this when we turn on the lock screen.

Change-Id: I567130296fe47ce82df065ed58ef21b37416ceaf
8d37426c754e9822feaa8c6cc0b7c13e8523e217 15-Sep-2009 Dianne Hackborn <hackbod@google.com> Various fixed for back key handling.

My last change was far from perfect. Hopefully this gets us
a little closer.

Change-Id: I413e55b6af42400b565de3040859d25d668bc9d2
c2974809373697147cbe5754835cc871fb93aef1 14-Sep-2009 Dianne Hackborn <hackbod@google.com> Fix issue #2116977: buttons are huge and bent

Now that we are using preloaded drawables in compatibilty mode, when
constructing them from their constant state we need to set the new
drawable's target density appropriately.

Change-Id: I3665cbea09d38b9ac5f45f8c380dc8641f86b266
19382ac1a4e4e7c23a1346d299368763f149de9c 12-Sep-2009 Dianne Hackborn <hackbod@google.com> Some optizations to wallpaper drawing/scrolling.

First, fix some issues with the final wallpaper bitmap
we use: ensure it is always 16bpp, and make sure dithering
of its bitmap is turned off. We take of dithering
when loading, to make sure we don't use it when drawing.

Also add new APIs to return the wallpaper with the equivalent
of Launcher's old FastBitmapDrawable. As doing this, also load
the default wallpaper the same way as custom ones, taking care to
resize it as needed at load time.

Finally implement a mechanism for the window manager to wait
for the wallpaper to redraw at its new position before returning
from the application's call to change the offset. This ensures
that the wallpaper better tracks the application. Note that there
is a timeout in this wait that is relatively short, and if it
expires we will run for a while without waiting.

Change-Id: Ife449437746da85958bd447e0a6cf3d2223b398c
8df8b2b405c60cacf7a66c4e2ca078dd3d7ec7bd 18-Aug-2009 Dianne Hackborn <hackbod@google.com> Allow wallpapers to get touch events.
317a6280cc109e873646e4652be1582d870eedfd 14-Aug-2009 Mathias Agopian <mathias@google.com> Surface::GPU and Surface::HARDWARE are now deprecated; they will be set automatically if needed.

this also ripples into the window manager API by making some constant there deprecated as well.
72c82ab9923025a91bbabb32e56bfea27bfd083b 12-Aug-2009 Dianne Hackborn <hackbod@google.com> Report wallpaper offset to the wallpaper, use this in the image wallpaper.

Wallpapers can now be just the size of the screen, and get told when their
scroll position should change to do the updating on their own.
4c62fc0e1e5ea9c69a12a7d1cf8b3ec8b2d114a3 09-Aug-2009 Dianne Hackborn <hackbod@google.com> Very primitive wallpapers in a surface.

This is all of the basic pieces:

- The WallpaperService now creates a surface with the window manager for its
- There is a simple service that displays a bitmap.
- The wallpaper manager takes care of starting and stopping the service.
- The window manager knows about wallpaper windows and how to layer them with
the windows that want to be shown on top of wallpaper.

Lots and lots of issues remain, but at this point you can actually write a
wallpaper service, select it in the UI, and see it behind an activity.
843ef36f7b96cc19ea7d2996b7c8661b41ec3452 20-May-2009 Jean-Baptiste Queru <jbq@google.com> donut snapshot
809a7f6080312f3e12f1a3a30eacf0e0c7627305 15-May-2009 Romain Guy <romainguy@android.com> New feature to track down #1846038. Adds the ability to export flags encoded in int values so as to make them human readable in HierarchyViewer.
870a2b015645ef5086af6a5de31dc482e7193214 25-Mar-2009 Romain Guy <> Automated import from //branches/donutburger/...@142470,142470
edbabeb7fabfb3c7793b565cdaaf656e5e332efe 25-Mar-2009 Romain Guy <> Automated import from //branches/cupcake/...@142469,142469
105925376f8d0f6b318c9938c7b83ef7fef094da 19-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake_rel/...@140373
b2a3dd88a53cc8c6d19f6dc8ec4f3d6c4abd9b54 09-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@137197
4df2423a947bcd3f024cc3d3a1a315a8dc428598 05-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@136594
9066cfe9886ac131c34d59ed0e2d287b0e3c0087 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
d83a98f4ce9cfa908f5c54bbd70f03eec07e7553 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
076357b8567458d4b6dfdcf839ef751634cd2bfb 03-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@132589
3dec7d563a2f3e1eb967ce2054a00b6620e3558c 03-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@137055
3001a035439d8134a7d70d796376d1dfbff3cdcd 19-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@132276
da996f390e17e16f2dfa60e972e7ebc4f868f37e 13-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@131421
d24b8183b93e781080b2c16c487e60d51c12da31 11-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@130745
f1e484acb594a726fb57ad0ae4cfe902c7f35858 22-Jan-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@127436
22f7dfd23490a3de2f21ff96949ba47003aac8f8 20-Jan-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@127101
9266c558bf1d21ff647525ff99f7dadbca417309 16-Jan-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@126645
b798689749c64baba81f02e10cf2157c747d6b46 10-Jan-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@125939
f013e1afd1e68af5e3b868c26a653bbfb39538f8 18-Dec-2008 The Android Open Source Project <initial-contribution@android.com> Code drop from //branches/cupcake/...@124589
54b6cfa9a9e5b861a9930af873580d6dc20f773c 21-Oct-2008 The Android Open Source Project <initial-contribution@android.com> Initial Contribution