History log of /frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
cf12897cf553bfd07734dad3de071915fd21d4eb 17-Oct-2012 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #7363252 Popup and Dialog UI widgets should be RTL aware

- set the Configuration's layout direction in ViewRootImpl instead of PhoneWindow$DecorView
- then remove unecessary API on ListPopupWindow for passing the layout direction

Change-Id: Ia2c6e4aa8cb82aed9b088bc3b8004ea0a1ded1f3
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
6a5b0a367389a8aa57cb1c82cd3d63f1ca67cc66 28-Sep-2012 Adam Powell <adamp@google.com> Don't try to open action bar overflow menus from bogus events

Some monkey tests could hit a case where a posted overflow button
click event was still lingering after the menu was no longer in a
created state, which could lead apps to crash. Just drop open-overflow
requests on the floor if the menu is in a weird state when we try.

Bug 7242431

Change-Id: Ieebb1fccfeeccbf17fd7c6cff06efbcb19b11ce3
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
4b6d93fd0485b46a3a15a71516d39b4f72d9b3db 19-Sep-2012 Adam Powell <adamp@google.com> Make invalidateOptionsMenu asynchronous

Process any pending menu invalidations on the animation tick, before
traversals are performed. Collapse multiple menu invalidations
together.

Bug 7189372

Change-Id: I7a33ae9813980eb8fbcc958804de2c03328ecca8
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
5f7979993979466c79ab4f38d83c6f2aca361662 16-Jun-2012 Fabrice Di Meglio <fdimeglio@google.com> Add support for "-rtl" in resources

- fix bug #7035019 Need to have "-rtl" support for Resource

Change-Id: Ic82145c2ac672729d8a6c695a5f343276a1a0a2c
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
3cc321ecf505d87850740ad3c63849e6793a8ef6 17-Jul-2012 Jeff Brown <jeffbrown@google.com> Remove dithering support.

The dithering flag is no longer implemented in Surface Flinger
so this is all dead code.

Change-Id: I74c0e452923207e5b7cfe0eeca9457e5cb990947
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
94a962833f420b72a6a45d2f84208cb9284c0ad3 27-Jun-2012 Fabrice Di Meglio <fdimeglio@google.com> Make PhoneWindow aware of layout direction

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

Change-Id: I94508d4ed5d9f9e348c3c19c5e12355f5723659d
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
2a6a4df96dde5be55465816597506636bbb37cc2 18-May-2012 Adam Powell <adamp@google.com> am 93563d21: Merge "Log a warning when action bar view states cannot be restored." into jb-dev

* commit '93563d21a97aee9bb60f6cbd975bb901fad29962':
Log a warning when action bar view states cannot be restored.
fb5f1bc085d1c353b80690636ce44679501225d8 18-May-2012 Adam Powell <adamp@google.com> Log a warning when action bar view states cannot be restored.

Some apps can get into a case where the saved view hierarchy states
for action bar views are missing. Log a warning instead of crashing.

Bug 6510800

Change-Id: I95ede64ec584892e6e76ca9ab9d53e9d3689984f
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
60d9dfcb7e613c5efbb055c2f666400e7cbad3d4 15-May-2012 Adam Powell <adamp@google.com> am 5ff7efa2: Merge "Appease the simians" into jb-dev

* commit '5ff7efa253486b2b482031ab9a3714fc5cc10f7f':
Appease the simians
a60314c70762b99a7ebc40547480ce351c3b5c23 15-May-2012 Adam Powell <adamp@google.com> Appease the simians

Ensure that the shown panel view is not currently attached to a parent
before adding it to the panel decor view.

Bug 6430928

Change-Id: Ic64ec4222db4754e64afdf06d7d2b77fb5ef825a
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
4689b2843fff4285cc3bdee0f2f2a0dc2d39594a 09-May-2012 Adam Powell <adamp@google.com> am 1e5c3336: Merge "Fix measurement for dialog windows that do not have fixed width" into jb-dev

* commit '1e5c3336e8b16c0a46542f59df53f0fa31d82d6d':
Fix measurement for dialog windows that do not have fixed width
b8e056a8e83c0fc8a60ed2d09025b82689f0fdf2 09-May-2012 Adam Powell <adamp@google.com> Fix measurement for dialog windows that do not have fixed width

Bug 6456773

Change-Id: I9d058f78c4b1c1759aaea2f215efee82a3489faa
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
c420d268de68a5ec08f20a512226b46495502121 03-May-2012 Adam Powell <adamp@google.com> am 1f2077c3: Merge "Fix AlertDialog positioning for dialogs spawned from DialogWhenLarge activities" into jb-dev

* commit '1f2077c3a0ae20caa4343dc9f66db959a939a054':
Fix AlertDialog positioning for dialogs spawned from DialogWhenLarge activities
8877cc3e6ee48c0bd1e8f0984d000a106f6122bd 03-May-2012 Adam Powell <adamp@google.com> Fix AlertDialog positioning for dialogs spawned from DialogWhenLarge
activities

Bug 6413342

Clear extra attributes in the base theme so that they properly overlay
a ContextThemeWrapper over a fixed-size dialog theme.

Change-Id: Ia0d49f0746ca01516afa1eaea7091e5da60d14ae
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
a3c6d8cfd607c018bc3a24233085333100380bca 01-May-2012 Jean-Baptiste Queru <jbq@google.com> am 415b8125: am d805c677: Merge "Possible NullPointerException in restorePanelState"

* commit '415b812569cb78e560f9d3a2a4d8944680669318':
Possible NullPointerException in restorePanelState
554bb0194f1f4fcc91834eaaf2efb300cf32f693 02-Apr-2012 Dmitry Tsyganyuk <fdt017@motorola.com> Possible NullPointerException in restorePanelState

curFeatureId is just an index in a cycle and can not be used for getting an object. May get null that will cause NullPointerException. Solution is to use key to get an object from icicles.

Change-Id: I61d5c6bd1c3226a993f60efa74872995ba0e42ac
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
3a3a6cfd8ec12208ca75c0d0d871d19d76c34194 26-Mar-2012 Dianne Hackborn <hackbod@google.com> Add new feature to let apps layout over status bar / system bar.

The main change is a few new flags you can supply to
View.setSystemUiVisibility(). One is a new visibility mode,
SYSTEM_UI_FLAG_FULLSCREEN, which is basically the same as
the global FLAG_FULLSCREEN option for windows, but driven as
part of the system UI state.

There are also three new flags for telling the framework that you
would like to have your application's UI ignore screen
decorations -- SYSTEM_UI_FLAG_LAYOUT_NO_NAVIGATION for going
behind the navigation bar and SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
for ignoring full screen decorations (that is the status bar).

In combination with this you can use SYSTEM_UI_FLAG_LAYOUT_STABLE
to have the framework report consistent insets to your application.

When using NO_NAVIGATION, when the user taps the screen we now
also automatically clear ONLY_CONTENT, so that we atomically show
both UI elements. This should make it easy for apps like video
players that want to move between fully full-screen and regular
modes.

The ActionBar has also been extended when in overlay mode so
that it will adjust the system window insets to also account
for its space, and allow it to be hidden using the new
SYSTEM_UI_FLAG_FULLSCREEN.

Change-Id: Ic8db1adec49a0f420bfe40c1d92eb21307856d0b
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
40eec4c0f1392665dbfcd9ca9ea4a9519a71c34a 16-Feb-2012 Adam Powell <adamp@google.com> Fix the size of DialogWhenLarge windows

Change-Id: I8c9588e958d8fb9c45b1cdb235cced48ba508dd3
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
ce952c8e13c535bedde77bcdb94dfcc7508475aa 14-Nov-2011 Mike Lockwood <lockwood@android.com> AudioManager: Add support for master mute

Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
73ab6a49db2b834ce1d56c7a1164938b409ee6fc 13-Dec-2011 Dianne Hackborn <hackbod@google.com> Fix issue #5755172: Soft menu key disappears when menu is open

We need to work more like before in determining whether the menu
key is needed -- in some cases look back in the window list to
determine this if we don't know the value from the current window.

This requires adding a new private flag indicating whether the
compat menu state is known for a window, which is set by
PhoneWindow as part of its existing process of computing the flag
for its own windows.

Now we can have a new API on WindowState to determine the value
of this flag for a window, which if needed walks back in the window list
to find a window the value is known for (or stops at what the policy
has determined is the top full-screen window, so we stop like we used
to at things like the lock screen or the bottom of an application).

Change-Id: I829de6d629b5af8bcb422cb85249ee4041c7205e
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
7bedf2449041a425899448cb672e91b0a5c97c62 08-Dec-2011 Jeff Brown <jeffbrown@google.com> Shortcut keys should be handled on down, not up.

Bug: 5720360
Change-Id: I3afc278e576ea992c76f024c8b6bad14b214239c
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
c6d51889c27cfa815f001cdf25792e98446e300f 13-Oct-2011 Adam Powell <adamp@google.com> Bug 5312828 - Menu button not responding

Increase tolerance for apps calling invalidateOptionsMenu at
inconvenient times.

Change-Id: I712b20002afd0f056c3f05b160c5fa9c2ef0b552
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
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
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
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
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
e0b6cd14ac116006e26dac6898a332fa90f1f49c 29-Sep-2011 Adam Powell <adamp@google.com> Fix bug 5386915 - Action mode is intercepting touches it shouldn't be

Standalone action mode windows should not be touch modal.

Change-Id: Ia3bab69b3ac344837093a17c4b58451bcc3471bf
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
915ce0d917fecd14e9b8b0caa4b01e72f3e0db11 29-Sep-2011 Adam Powell <adamp@google.com> Fix bug 5386180 - Wire up action bar home/up for dialogs

Action bars in dialogs are largely an undocumented "feature" but they
do work - with the exception of this since it previously relied on the
host being an Activity. Make it work.

Change-Id: I52ae24c3bfdd9766e4c0f035183e7f148a4e0162
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
a05aba9c506cd12a753c53e060c289095c3477e9 23-Sep-2011 Adam Powell <adamp@google.com> Fix bug 5341139 - bottom bar stays if app wants to handle orientation
change

Let action bars move between split/unsplit mode on configuration
changes if set to split when narrow.

Change-Id: I13f5115a65247cb1878ee823493ca8e2b6ba4cf6
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
d65b3b99f087113a3a75991663e5676bb106fa0b 23-Sep-2011 Adam Powell <adamp@google.com> Fix bug 5355912 - SearchView in ActionBar with
Theme.Holo.Light.DarkActionBar gets black text

Make sure that menus generated for use in action bars get themed correctly.

Change-Id: I14ba676d296c785514425d40d89e62dc4ff1da1a
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
c3e4454fdb57391c8d7c77a9d61381d0f4d857e8 22-Sep-2011 Adam Powell <adamp@google.com> Merge "Fix bug 5300621 - Share menu disappears in gallery"
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
changes.

Change-Id: Ia6f45fb463ad106105c40d01f141c2e5c8b96f78
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
23016582222cdaeb880ee3db080f6c245ea8e031 21-Sep-2011 Adam Powell <adamp@google.com> Fix bug 5341804 - Unable to type into the find on page CAB

Standalone action mode windows should be focusable.

Change-Id: I7ce23f1028eb0d0d36bdb287589a6018dc178580
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
8ee6d7c20e7767c2f61f8db9a99d01e0a05f3842 18-Sep-2011 Adam Powell <adamp@google.com> Fix bug 5333962 - Problems with no action bar/overlay action mode

Change the standalone action mode window for overlay mode to be of
TYPE_APPLICATION. (This also fixes a bug where overflow menus would
not work properly on these types of action mode bars.)

Set exitFadeDuration on btn_cab_done_holo_* drawables.

Remove no-window-focus override selector states for selectable item
backgrounds to allow proper touch feedback on windows that do not have
focus but that the user can interact with.

Change-Id: Ib504866238708150d21e6183ff7b695869c05d3e
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
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
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
3705b22c9704050dfb46d784ae84e9d7f9357ad4 09-Sep-2011 Michael Jurka <mikejurka@google.com> Merge "Adding null check to prevent monkey crash. (5263199)"
45d378b705e873edfd9be5ada7b639e8a832856c 09-Sep-2011 Winson Chung <winsonc@google.com> Adding null check to prevent monkey crash. (5263199)

Change-Id: I26372c8aa8022659582b31ca5a4279b9590f02f8
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
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
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
6055f3e0d6083e662af1452a09c1331d3eafe829 28-Aug-2011 Adam Powell <adamp@google.com> Fix bug 5217267 - Action bars and menu shortcuts

Don't try to "close" the menu after completing a shortcut action if an
action bar is present.

Change-Id: I54a75543cf9a52e3186ff464924a0b37d0b20b9d
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
82349c54ce793cb0a7cf3acf1bcc6df1e6413abc 23-Aug-2011 Adam Powell <adamp@google.com> Fix bug 5202226 - Leave menu button visible for no-button phones if
targetSdk < ICS

Compatibility support for existing apps. Apps in the wild that
properly target <=GB phones and HC tablets should be able to expect
that their small-screen UI will continue to work as intended on ICS
devices. Make sure that we show the soft menu button in the nav bar if
the current device was not officially supported in Honeycomb, the app
does not target ICS or newer, and the window does not have an action
bar.

Change-Id: I069c30841d3827a60ef8040831fde6f4c051d0ee
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
661cd52e0e1d527132eb1cae604d3e64da7ec0cb 22-Aug-2011 Dianne Hackborn <hackbod@google.com> Add progress dialog for booting after an upgrade.

This introduces a new facility for code during the boot process
to display messages to the user through a progress dialog. This
is only for use when performing longer-than-usual post-upgrade
operations such as running dexopt on applications or upgrading
databases.

Change-Id: I0e78439ccec3850fb67872c22f235bf12a158dae
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
3429ff53d0a7dcf019bf076c7a3eeb877a1a2626 19-Aug-2011 Adam Powell <adamp@google.com> Fix bug 5186258 - Incorrect window width is used for custom panel
views in the MATCH_PARENT case

Change-Id: I11c4a58303fa3c4a9f3540908c6409bacd84a35e
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
84f4936dee660d7bfbfb7adec3cd831f3bdded4c 18-Aug-2011 Adam Powell <adamp@google.com> Fix bug 5183332 - monkeys are jerks

Change-Id: I15beb7b55ff5809b95dc869a9b0c43c49d1571c6
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
926808dc9bd99e3d663d1612961f587db6161ad5 18-Aug-2011 Adam Powell <adamp@google.com> Merge "Fix bug 533274 - Menu key opens wrong menu in action mode"
012da5a27fc669defdc616d74172caf22540d55e 18-Aug-2011 Adam Powell <adamp@google.com> Fix bug 533274 - Menu key opens wrong menu in action mode

Don't open the options menu in response to the menu key when an action
mode is active.

Change-Id: I89cd251dd14276fc381e20f82725d42ac9264181
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
4fd8d5330e21886864002b6c68ef28827ce45074 17-Aug-2011 Adam Powell <adamp@google.com> Fix bug 5167786 - make sure custom option panels still work.

Change-Id: Ife3ca80f593c141f680fcc5178687112a538474d
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
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
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
e43fca99573291311f90b540d67833011d5fc6be 16-Aug-2011 Adam Powell <adamp@google.com> Offer a masked version of setUiOptions for windows to only modify certain flags.

Change-Id: I36aaff982767f8984c468e8c13f8d5ec8c3c0040
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
97a30017a408192aab623abf7a4edaeb71cae652 10-Aug-2011 Adam Powell <adamp@google.com> Fix bug 5080988 - State change to action views made in
onPrepareOptionsMenu will be lost

Change the ordering of restoring action views. Restoration now comes
after onCreate but before onPrepare in the menu setup rather than
after both. This allows apps to mutate the restored state in
onPrepare.

Change-Id: I822a716415d01112eb517ac093eaf6929f041aad
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
dfee59afb3e4cdcde38f6338f9360655de76da92 06-Aug-2011 Adam Powell <adamp@google.com> Fix bug 5011824 - New Holo overflow menu for physical menu key devices

The new Holo-style overflow menu now appears from the edge of the screen
where the device's physical menu key can be found. The policy determining
this lives in getPreferredOptionsPanelGravity() in WindowManagerService.

Change-Id: I8851a2265547156591e82044e50b5cfc58d3eefa
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
dc5facd47631b4f076f98a4dca6ea16c64ae6002 04-Aug-2011 Adam Powell <adamp@google.com> Fix bug 5044737 - Compatibility menus should be as wide as the screen
width

Change-Id: I96f4d6d41fe490845a1e7dd40c9f1a38f01781b7
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
269248d112e35fe8e9f0d5d11c96dcb2ac1118b0 02-Aug-2011 Adam Powell <adamp@google.com> Fix bug 5098288 - Rethink the suite of new themes

Cut down the list of new themes for ICS. Holo apps now have
Theme.Holo, Theme.Holo.Light, and Theme.Holo.Light.DarkActionBar to
choose from.

Add manifest attribute android:uiOptions to express
splitActionBarWhenNarrow. Other options may move into this later as
well. (DialogWhenLarge?) This attribute is valid on both activity and
application tags; application settings will serve as the default for
activities that do not explicitly set uiOptions.

uiOptions are not currently reflected in the startup window for new
activities.

Change-Id: Iffdc2ce4cc69f79c9bd4e541b7923286e6936c1e
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
ccdd4ee44f8cfbb45b2989cca833895fcc4c4225 28-Jul-2011 Adam Powell <adamp@google.com> Fix bug 5087980 - MenuItem#expandActionView should work from within
onCreateOptionsMenu

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
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
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
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
0bd1d0a15294345bf88b20df28466907f982cec7 23-Jul-2011 Adam Powell <adamp@google.com> Fix bug 5060033 - No text-editing toolbar when in a dialog

Fix a bug that caused standalone action mode bars to not appear
properly or account for system insets such as the status bar.

Add public API to View to toggle the fitsSystemWindows attribute.

Change-Id: I5d7669425b930c5d23f9df26a45f544b706e8242
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
038f1c80af06da55056120e121d43e3ee89ec726 21-Jul-2011 Adam Powell <adamp@google.com> Bug 5061529 - Save/restore action view state for menu items across
invalidations.

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
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
b80d332e7421e0b8cff12569c2f1b450d769e782 16-Jul-2011 Adam Powell <adamp@google.com> Fix bug 5037642 - Refine back button behavior for action bar modes.

Action modes for the action bar used to aggressively hijack the back
button before the view hierarchy got a chance to respond to it. Loosen
this. New ordering is: view hierarchy => window feature-level modes
(action bar modes e.g. CAB/search) => Activity/window callback
behavior.

Change-Id: Iac1b22997713be968a94f77f9fa6cebaf6f923f0
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
0a3deee6974f2d9fec1371ed6fdd46dc5b2a75f6 15-Jul-2011 Adam Powell <adamp@google.com> Fix regression with legacy expanded menus

Change-Id: I28a21dc72d11c6729370e0acd90b06ed98baf098
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
11ed1d6cae9214335c92ac38498a4e6c7d1c8324 12-Jul-2011 Adam Powell <adamp@google.com> Fix bugs around restoring submenu state after activity teardown/restore

Change-Id: I6cb5b3cad39b141dff84b8e0ca62f8f0a76a03b1
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
0b2be42a07fcb66ca0a5f70624c8871245b4f6fd 23-Jun-2011 Adam Powell <adamp@google.com> Fix bug 4595971 - Menu not prepared to be prepared

The menu key gets the menu ready on key down and shows it on key
up. Ensure on key up that we still have a valid menu before attempting
to show it.

Change-Id: I24e67fa0cdb14cb5471c087a5e9f55ec0b2edf9f
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
a3e3c533ee4af6d9dba43b70ac421ba880992961 22-Jun-2011 Adam Powell <adamp@google.com> Fix bug 4807086 - Options menu panel too narrow in landscape

Now that landscape on phones uses the config_prefDialogWidth setting
to restrict the default size of dialog windows, the options menu panel
was affected.

Restrict the ratcheting preferred width feature based on the width
LayoutParam only, and respect the LayoutParams width provided by panel
windows.

Change-Id: Idc62f41910f6f22dc50cab978c5642bb0a8dbdaf
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
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
button.

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
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
31bb97d240915d6ead410ab0befd3da115a92282 04-May-2011 Adam Powell <adamp@google.com> Fix bug 4361642 - Action menu unresponsive after orientation change

Through invalidating panel menus and action bar initialization it was
possible for instance state restoration to throw out a new menu
already in use. Invalidate the menu if it already exists instead. The
saved instance state will be applied later if a relevant panel menu is
shown.

Change-Id: I6bad7640ecb8d2f5f8ea658e1c68b07d52d108b9
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
d1f4207ba577e2ac3f39a719f8ee4bb9f4940dc1 04-May-2011 Adam Powell <adamp@google.com> Fix bug 4355335 - android.app.cts.DialogTest.testContextMenu failing on IRJ28

Change-Id: Icfcd8c2aadd0fb9e49296b8318858317407e1b7f
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
0d8ec1d739e15c232c58a5a5de605685830c287e 03-May-2011 Adam Powell <adamp@google.com> Fix bug 4345702 - update action bar tab views when the Tab object is
updated

Also fix a bug with visibility of split action bar views.

Change-Id: Iadd63d5e9b6cb9debab0f7a777e424e4c4807a13
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
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
bars.

Change-Id: I6bc39ba6c343055597880a7d4663dd8f30aa4999
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
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
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
526b9313a9ac68924611b7f0492446728b7c746e 23-Apr-2011 Adam Powell <adamp@google.com> Fix a bug when showing the menu panel with an action bar/menu items
present.

Change-Id: I38cc257661f5a10ccca6ec7625e43e70287129d2
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
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
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
43a17654cf4bfe7f1ec22bd8b7b32daccdf27c09 07-Apr-2011 Joe Onorato <joeo@google.com> Remove the deprecated things from Config.java. These haven't been working since before 1.0.

Change-Id: Ic2e8fa68797ea9d486f4117f3d82c98233cdab1e
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
25ef3030a7386697c63e4a4bd3dee11ca2170e89 19-Mar-2011 Adam Powell <adamp@google.com> Fix bug 4136005 - Extended menus do not work

Fix for extended panel menus on small-screen devices.

Change-Id: I7788563019648867872d88ac974bfacdce8af385
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
8620d9533a8d2e34f81d4932e1e4d9cae58cacbb 04-Mar-2011 Patrick Dubroy <dubroy@google.com> Remove guard preventing onDetachedFromWindow() from being called

This was the cause of 3510699: Launcher has leaked IntentReceiver.

Change-Id: I7d0e4662314d657f6ac06a9a9d37861f8d8ee975
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
d20d5523c75a544f391d4d1cb3886ddd0ad34508 02-Mar-2011 Dianne Hackborn <hackbod@google.com> Merge "Fix issue #3387676 com.android.browser: java.lang.NullPointerException..."
b66ad57ca072a8cb83ee9c269e233d5002d96e17 02-Mar-2011 Dianne Hackborn <hackbod@google.com> Fix issue #3387676 com.android.browser: java.lang.NullPointerException...

Unable to destroy activity {com.android.browser/com.android.browser.BrowserActivity}:
java.lang.NullPointerException at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:2809)

Add a bunch of guards to not call on to the window callback after the
window is destroyed.

Change-Id: I66ca0705f421bafdfe953d03654c8f78d9e68249
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
d3c9704d3efee8a64de321aa96bc49013f2db7f3 01-Mar-2011 Adam Powell <adamp@google.com> Fix bug 3497307 - Fix issues with FEATURE_ACTION_MODE_OVERLAY

Properly close down overlay windows when decor is detached. Delay
opening popup overlays to prevent issues when restoring instance
state.

Change-Id: I7ff44ce65e78c0172a12a9ddfe11460c885593ca
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
ece945291e04ea8493895349ed95a2ab46b51c93 24-Feb-2011 Patrick Dubroy <dubroy@google.com> Fix 3272590: Long-press on home & menu should be same as click

Change-Id: I151571900f4bb63910ccfb77fc64c8be9676a224
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
ef5a440d0a02aa34388d975c58fb7a30e56a0f5c 11-Feb-2011 Adam Powell <adamp@google.com> Fix bug 2955651 - can open normal menu during action modes

Prevent the usual menu pipeline from trying to open the action bar
overflow menu when the action bar is not visible.

Change-Id: I0708d142ad271368baa79351b97aad1533636fe7
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
166f26e2c2378decaf023a4c829b03034a65d160 27-Jan-2011 Dianne Hackborn <hackbod@google.com> am f35d43f9: am 2dc9c784: Merge "Fix issue #3382992: IME close animation stutters from URL bar" into honeycomb

* commit 'f35d43f90b9e4553343a59b217430aaba91b0d1f':
Fix issue #3382992: IME close animation stutters from URL bar
63042d6a0347017fcc4cd98560ca3407044c165c 27-Jan-2011 Dianne Hackborn <hackbod@google.com> Fix issue #3382992: IME close animation stutters from URL bar

Gross hack is grosser.

Change-Id: I0a34bf1d7c16c547402318f24776a5f7e8b7552b
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
fbe446d7f2b9679f356d7a1d2e4a0ceab515ba76 26-Jan-2011 Jeff Brown <jeffbrown@google.com> am 391ef42c: am 3168a137: Merge "Fix surface frame size reporting." into honeycomb

* commit '391ef42c92ab97e5c22a720973790696d30576ca':
Fix surface frame size reporting.
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
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
02b74a07de57962b52ea62d7347d68bc7f079a05 24-Jan-2011 Adam Powell <adamp@google.com> am b2d7b02c: am 8ccea78c: Merge "Fix bug 3299208 - Some apps\' dialogs aren\'t show()ing successfully" into honeycomb

* commit 'b2d7b02c4f3e2a43e65985edc70db52e257dd673':
Fix bug 3299208 - Some apps' dialogs aren't show()ing successfully
e571e60a3d49443b6caf4cd29ccd01ffd9ef3ad3 24-Jan-2011 Adam Powell <adamp@google.com> Fix bug 3299208 - Some apps' dialogs aren't show()ing successfully

Fix legacy submenus in options menus.

Change-Id: I3d115c72d99dadd5b23f9459fd27277a39de332b
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
310ae9b39c10f6b43c885e458eb8d135a3ba6b71 19-Jan-2011 Dianne Hackborn <hackbod@google.com> am fe86e979: am 661b6cfb: Merge "Okay, new plan for dialogs." into honeycomb

* commit 'fe86e9793ce62c6a1aa34e5712f16b45800efdd0':
Okay, new plan for dialogs.
1539a2967b3c3eb12a18b5cdf20a017c7a0df7d6 19-Jan-2011 Adam Powell <adamp@google.com> am eb7a7a04: am 6cfc7a0a: Merge "Fix bug 3365208 - Contextual Action Bar is not displayed when the context item is changing" into honeycomb

* commit 'eb7a7a044adba95216152e848fa692ec2869e06b':
Fix bug 3365208 - Contextual Action Bar is not displayed when the context item is changing
7fc5d4b8e7145413411da3320495388f09fab536 19-Jan-2011 Dianne Hackborn <hackbod@google.com> am 2ec5a716: am 36c84403: Merge "Fix issue #3362484: Can\'t dismiss activity picker by tapping outside dialog" into honeycomb

* commit '2ec5a7160b3d32887b2428edef7a751ee3700809':
Fix issue #3362484: Can't dismiss activity picker by tapping outside dialog
661b6cfb2bcecdd335540db7059e5d8e22c2e79a 19-Jan-2011 Dianne Hackborn <hackbod@google.com> Merge "Okay, new plan for dialogs." into honeycomb
ef57575887bde74ef09e9f21aae6b02f9c8163c7 19-Jan-2011 Dianne Hackborn <hackbod@google.com> Okay, new plan for dialogs.

Don't dismiss by default when tapping outside, even for AlertDialog.

If AlertDialog doesn't have any buttons, tapping outside will dismiss it.

Applications can make their own dialogs (or activities looking like
dialogs) can use the existing and new APIs to control this behavior
themselves so that it does the right thing.

Change-Id: I02bfb9161e169de0033200211b3a7ec80080bd83
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
6cfc7a0acb0d3b202ae1dbee88e7e8bdfaee5590 19-Jan-2011 Adam Powell <adamp@google.com> Merge "Fix bug 3365208 - Contextual Action Bar is not displayed when the context item is changing" into honeycomb
a1e6358a4c62c8b6de1f2428901e45b688bd9e9f 19-Jan-2011 Adam Powell <adamp@google.com> Fix bug 3365208 - Contextual Action Bar is not displayed when the context item is changing

Change-Id: I9e7ec4ab14c6008397d26c499ccf478f8875f918
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
cfaf8878de83b6bb7a24aee3c240259f428e6e4a 18-Jan-2011 Dianne Hackborn <hackbod@google.com> Fix issue #3362484: Can't dismiss activity picker by tapping outside dialog

Change-Id: Idc2fe5a86c61e8f94fe9d902a0087a05f6f7918e
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
0f6226b9f417182bbf791598000f0a153fbf191c 18-Jan-2011 Jeff Brown <jeffbrown@google.com> Merge "Add joystick support to framework."
cb1404e45639d20439d7700b06d57ca1a1aad1fa 16-Jan-2011 Jeff Brown <jeffbrown@google.com> Add joystick support to framework.

Change-Id: I95374436708752e1a9cff3f85c5b9bc3e0987961
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
8f68f4fe79f29334e3d822564733c349622c05a8 17-Jan-2011 Adam Powell <adamp@google.com> Fix bug 3360882 - Allow FEATURE_CUSTOM_TITLE and
FEATURE_ACTION_MODE_OVERLAY to coexist.

Fix "custom title" dialog window decor for holo.

Change-Id: Ia732caeb89e12d8d754be31c3bd2faf13a8c95d6
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
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
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
6014527c350895383b99ba91d3d009a32b1d22a6 12-Jan-2011 Dianne Hackborn <hackbod@google.com> Add "min size" facility to the Window class.

This allows us to have a new dialog theme that behaves like an alert dialog
for both Dialog and Activity versions. Very useful with so many more things
being displayed as dialogs on our nice large screen.

Note I didn't change the existing dialog themes to have this behavior, since
it will probably break things. Instead there is a new variation. And the
DialogWhenLarge variations now use this for their dialog form, to fix many
of the real new dialogs we have that need this behavior.

Removed the public definition of the one alert dialog theme. None of the
others have ever been public, this one shouldn't be.

Added new .Panel versions of the Holo themes, like we already had for the
original themes.

Changed the alert dialog layout to no longer use WeightedLinearLayout,
since the window now takes care of that. This allowed for the removal
of the xlarge version of those layouts.

Change-Id: I0c8372bde25eb9af47404a719b3f07230baf73bf
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
32aa2c90ee6e12f6c53c7d572d5c02f1d795b8f7 12-Jan-2011 Adam Powell <adamp@google.com> Fix bug 3338079 - Dialog styled activity decor

Fixed a bug in FastScroller that could cause a crash on an empty list
in always-show mode.

Fix holo light button text color

Change-Id: I7b50043d715b9b870eb34808017d743ba64d2e08
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
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
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
0d69fae5e6b138f951cf6461a353bed32a1f556a 09-Jan-2011 Adam Powell <adamp@google.com> Fix bug 3330683 - Do not show the legacy menu panel for HC apps on
xlarge devices.

Change-Id: Ic268684570a429d8da499c142b23bb20b3fe2b82
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
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
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
64da12ab1f472e01325b6c6d094153ac110eaf7b 05-Jan-2011 Jeff Brown <jeffbrown@google.com> Add dispatch key shortcut window callback.

Enables Activities and Dialogs to implement key shortcut behavior.
Useful for global key shortcuts that are not bound to the focused
view or to a menu.

Change-Id: If377d20b227ee1c5cac84c47c9630b2d77f67e2c
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
7e06ea80f781b26e17d630ccbb08237be2541f36 06-Dec-2010 Adam Powell <adamp@google.com> Fix bug 3245210 - Bad window style for action modes for light holo dialog theme

Also fixed some issues with the overlay action mode window styles.

Change-Id: Ie4cf43f6ccf720ef0090ca8bd667fb6d78152f93
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
049dd3d4a4869e0c65d370e2538fcfb55bacef52 02-Dec-2010 Adam Powell <adamp@google.com> Fix bug 3248786 - silly monkeys.

Change-Id: I41306cae06a7b4fd3852e0760ae668c8d6eacc5d
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
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
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
6b53e8daa69cba1a2a5a7c95a01e37ce9c53226c 11-Nov-2010 Jeff Brown <jeffbrown@google.com> Added support for full PC-style keyboards.

BREAKING CHANGE: Redesigned the key character map format to
accomodate full keyboards with more comprehensive suite of modifiers.
Old key character maps will not work anymore and must be updated.
The new format is plain text only and it not compiled to a binary
file (so the "kcm" tool will be removed in a subsequent check-in).

Added FULL keyboard type to support full PC-style keyboards.

Added SPECIAL_FUNCTION keyboard type to support special function
keypads that do not have any printable keys suitable for typing
and only have keys like HOME and POWER

Added a special VIRTUAL_KEYBOARD device id convention that maps
to a virtual keyboard with a fixed known layout. This is designed
to work around issues injecting input events on devices whose
built-in keyboard does not have a useful key character map (ie.
when the built-in keyboard is a special function keyboard only.)

Modified several places where events were being synthesized
to use the virtual keyboard.

Removed support for the "qwerty" default layout.
The new default layout is "Generic". For the most part "qwerty"
was being used as a backstop in case the built-in keyboard did
not have a key character map (probably because it was a special
function keypad) and the framework needed to be able to inject
key events anyways. The latter issue is resolved by using the
special VIRTUAL_KEYBOARD device instead of BUILT_IN_KEYBOARD.

Added the concept of a key modifier behavior so that
MetaKeyKeyListener can distinguish between keyboards that use
chorded vs. toggled modifiers.

Wrote more robust key layout and key character map parsers
to enable support for new keyboard features and user installable
key maps.

Fixed a bug in InputReader generating key ups when keys
are released out of sequence.

Updated tons of documentation.

Currently QwertyKeyListener is being used for full keyboards
with autotext and capitalization disabled. This mostly works
but causes some problems with character pickers, etc.
These issues will be resolved in subsequent changes.

Change-Id: Ica48f6097a551141c215bc0d2c6f7b3fb634d354
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
bf85f43e48d046fe214cdadfa553e85f909d2b76 16-Nov-2010 Adam Powell <adamp@google.com> Add protection for ActionMode-related window callbacks that may not
implement new methods.

Change-Id: Id4463ee97366187ba43b0966f79aa8bd34f7fa1d
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
debf3bed9ea913ac55c80e1f9f7f33217054a943 16-Nov-2010 Adam Powell <adamp@google.com> Fix bug 2948913 - provide lifecycle notifications for action modes

Change-Id: I432e29a7bddb18bc32dfbe21a8ecd7d83158e3a0
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
8d12e201626239291fe2c4b31f97f2a14f01dea9 16-Nov-2010 Adam Powell <adamp@google.com> Fix a couple interactions between action bar and options menus

Fix bug 3129937 - Activity.openOptionsMenu not calling onPrepareOptionsMenu

Fix bug 3070720 - actionbar android.R.id.home isn't dispatched to fragments

Change-Id: I4a154941595583cdec7d1dffbeac9c8340781fa0
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
7eec10e6c99c30d5ee061fec08ac89ad4254ac32 13-Nov-2010 Dianne Hackborn <hackbod@google.com> Get rid of the extended themes.

We now decide whether to use a bitmap background based on whether the
window's drawing is hardware accelerated. To do this, there is a new
"state_accelerated" that state list drawables can be parameterized on,
and the standard window background uses this to select a solid color
or bitmap drawable as appropriate.

Introduces a little hackery to have wm preview windows pretend like
they are hardware accelerated even if they aren't, so the preview looks
closer to the actual app.

Also Add a DialogWhenLarge variation for the light theme.

Change-Id: I215a79d5df65ba3eed52ab363cade9d8218a6588
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
6af97e1c20df4d7010fafd7059c95d9b4113e4a6 12-Nov-2010 Adam Powell <adamp@google.com> Revised assets for progress bars and indeterminate progress spinners.

Add support in ActionBar for activity-wide progress APIs.

Add ability for progress bars to set a target framerate rather than
the 5fps previously used.

Clean up some more dialog layouts using hardcoded styles rather than
theme attributes.

Change-Id: I8e88c7595e27c0b6f7829b598f2b084ac8501ae3
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
46e75294d540fe807d78aec2582ae02cc38c7d42 11-Nov-2010 Jeff Brown <jeffbrown@google.com> Enable touch splitting for all windows by default.

New default only applies to applications with targetSdkVersion >=
HONEYCOMB. Old applications default to no touch splitting for
their windows.

In addition, enabled split touch for various system windows.

Bug: 3049580
Change-Id: Idc8da9baa2cd8e1e4e76af8967d7b6a5ccb94427
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
86f6786032b1a0380cf089aeeceef7e9d8982ef8 06-Nov-2010 Joe Onorato <joeo@google.com> Move the volume, media, call, camera and search key handling from
PhoneWindow to a new PhoneFallbackEventHandler class that is used
for all windows, not just ones with decors.

Bug: 3155146
Change-Id: Ib070fa3e523e3564b225bca576c08012fef4f416
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
b0418da0e7594a8c2164a46985c5f1993632e010 01-Nov-2010 Jeff Brown <jeffbrown@google.com> Add plumbing for volume mute key.

Full support for the volume mute key will be implemented in a
later change.

Bug: 2912307
Change-Id: I98c27d6360f159c8b7447e04b45f442eff87b38a
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
4d396052deb54399cbadbeb8abd873df6f3af342 30-Oct-2010 Jeff Brown <jeffbrown@google.com> Fix policy issues when screen is off.

Rewrote interceptKeyBeforeQueueing to make the handling more systematic.
Behavior should be identical except:
- We never pass keys to applications when the screen is off and the keyguard
is not showing (the proximity sensor turned off the screen).
Previously we passed all non-wake keys through in this case which
caused a bug on Crespo where the screen would come back on if a soft key
was held at the time of power off because the resulting key up event
would sneak in just before the keyguard was shown. It would then be
passed through to the dispatcher which would poke user activity and
wake up the screen.
- We propagate the key flags when broadcasting media keys which
ensures that recipients can tell when the key is canceled.
- We ignore endcall or power if canceled (shouldn't happen anyways).

Changed the input dispatcher to not poke user activity for canceled
events since they are synthetic and should not wake the device.

Changed the lock screen so that it does not poke the wake lock when the
grab handle is released. This fixes a bug where the screen would come
back on immediately if the power went off while the user was holding
one of the grab handles because the sliding tab would receive an up
event after screen turned off and release the grab handles.

Fixed a couple of issues where media keys were being handled inconsistently
or not at all, particularly in the case of the new PAUSE, PLAY
and RECORD keys.

Bug: 3144874
Change-Id: Ie630f5fb6f128cfdf94845f9428067045f42892c
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
6c586dbb977c461b1c929f2b5e813ea3c0e658b4 01-Nov-2010 Joe Onorato <joeo@google.com> Long press on menu no longer opens the IME.

Bug: 3063616
Change-Id: I6f13300d2dc2f7fa549c7329e9b5509b6d4ffd5d
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
a6face4d40280067c6c829c8c186fc47969e7b7b 25-Oct-2010 Marco Nelissen <marcone@google.com> Plumb KEYCODE_MEDIA_PAUSE and KEYCODE_MEDIA_PLAY up through the framework.
b/2764237

Change-Id: I9a20974fa0b7527230258f7d0bf829a031673a9d
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
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
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
e02d808abf370965c3c4e4d38af11bc69110fde2 08-Oct-2010 Daniel Sandler <dsandler@google.com> Dynamically show the menu button on the system bar.

Windows with FLAG_NEEDS_MENU_KEY (or windowNeedsMenuKey=true
in their theme) will cause the system bar to show a menu
icon. (Note that the phone's status bar currently ignores
this, but phones tend to have hardware menu keys anyway.)

Additionally, all windows whose package's SDK version is
pre-Honeycomb will have FLAG_NEEDS_MENU_KEY set by default.

Bug: 3003728

Change-Id: I2d983763a726ea4f32cd1af9b0390e30478b11d1
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
d37870af20dc4c1dd4b5a13889767d699a85e701 07-Oct-2010 Joe Onorato <joeo@google.com> Don't crash if there is no phone app and someone presses the phone button.

The phone button probably doesn't exist on products without phone apps,
but the monkeys still know how to find it.

Change-Id: I36aca53506c8d7d7565df8674aff9d59745139e0
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
8d20f6b8cb5023318a4f422778d1d4f845ac7fe4 13-Sep-2010 Jeff Brown <jeffbrown@google.com> am 40e3af61: am 8abc9e9b: Merge "Don\'t play a sound if a volume key press is canceled." into gingerbread

Merge commit '40e3af61dcbf7e49979a67410f37c4b4523a0bd6'

* commit '40e3af61dcbf7e49979a67410f37c4b4523a0bd6':
Don't play a sound if a volume key press is canceled.
8b7a982d290b368407e0c419c10105d5d4306b4b 13-Sep-2010 Jeff Brown <jeffbrown@google.com> Don't play a sound if a volume key press is canceled.

Change-Id: I8e45af20ec83a81565e10be3648b95686fa897af
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
f4a6ec4e9398c1beb019e1c208272bf56401f925 24-Aug-2010 Adam Powell <adamp@google.com> Disable FEATURE_ACTION_BAR on windows with incompatible feature sets.

Change-Id: I70c860c72eb9e1f1f123764202334ab714f4f830
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
6c6f575423d6718c3ff322224c1520901ce881e1 21-Aug-2010 Adam Powell <adamp@google.com> More ActionBar/config change tweaks. Preserve open overflow menus

Change-Id: Ic8ad2b1e3909fbf84ff4d852ae046a9f9508477c
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
04253aa134c4795d98cdb219b952393be1914f8b 18-Aug-2010 Adam Powell <adamp@google.com> Back button closes ActionModes

Change-Id: I763782706ce7aa65a5a11129450d97a2bcb3a625
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
291905e34a7f0ae03c68fb2c1b8c34b92d447fbf 18-Aug-2010 Dianne Hackborn <hackbod@google.com> Maybe fix #2925641: calling onCreateOptionsMenu before attached activity

Also add some APIs to PreferenceActivity.

Change-Id: I85894a3eb9cd3e5adb78b82e85454c0d74773178
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
266b1008cfc570d95d10ce650343765fa6bac7e7 17-Aug-2010 Adam Powell <adamp@google.com> Fix some ActionBar bugs.

* Fix a bug where the options panel would not open on non-xlarge
screens to show overflow menu items.

* Fix a bug where ActionBarView would try to add a custom nav view
twice.

* Fix a bug where ActionBarView would expand too far in wrap_content mode

Change-Id: I433ea56524aad885d813ae8743fe2fcefa9649fa
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
b047208b3b3391d5c9b0114b0906341240f48368 12-Aug-2010 Adam Powell <adamp@google.com> Cleanup on CL 61012

Change-Id: I394909c65a4978be26db063c9f69f1098ab028b3
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
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
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
6b336f835d637853800b94689375a03f337139a4 11-Aug-2010 Adam Powell <adamp@google.com> ActionBar overlay mode, height fetching, show/hide

Change-Id: Ie931ed26ec885d891d6733132b517a53d95f8491
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
f75eeb28def26798682748aa5dedabebac86bb6a 11-Aug-2010 Adam Powell <adamp@google.com> Fix bug 2908822 - open/closePanel should do the right thing with ActionBars

Change-Id: Ic77f9dee864d17046f69c78a1e6d96a49b5c6180
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
6dd73b45a4b21eba4d1035346cc7870bb01ab621 06-Aug-2010 Adam Powell <adamp@google.com> Fix some lifecycle issues with populating the action bar's menu

Change-Id: I5f63df3260392b09fbb7120986702d01dac5906c
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
8e552630e72a17d7340f1bebccbc6fd6faef82fb 05-Aug-2010 Adam Powell <adamp@google.com> Let action modes overlay window content

Change-Id: Ic0512c3e6338e1de15facec0a6650f9da9808a24
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
5d27977f9da482627ceb19317a2cd70467aff046 28-Jul-2010 Adam Powell <adamp@google.com> Action modes without action bar

Change-Id: I0367ab35e598a17980bd373b30828175f6283acc
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
ac670c0433d19397d4e36ced2110475b6f54fe26 28-Jul-2010 Romain Guy <romainguy@google.com> Generate shaders to cover all possible cases.

With this change, all the vertex and fragment shaders used by the GL
renderer are now generated based on a program description supplied
by the caller. This allows the renderer to generate a large number
of shaders without having to write all the possible combinations by
hand. The generated shaders are stored in a program cache.

Change-Id: If54d286e77ae021c724d42090da476df12a18ebb
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
6e34636749217654f43221885afb7a29bb5ca96a 23-Jul-2010 Adam Powell <adamp@google.com> Moved context modes into view, renamed to action modes

ContextualMode renamed to ActionMode. Adds a reference to the action
bar and reduces confusion around things named "Context".

Change-Id: Ia5098b1d0799a0ece0810c34e6696eda039fb005
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
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
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
e92ea3474de7998a016b48bab4e9a4bbafd5b549 14-Jul-2010 Adam Powell <adamp@google.com> Fix bug 2835056 - ActionBar doesn't update title properly when set in onCreate

Change-Id: I593315db8df0190c2702a87ebef293e5f798823d
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
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
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
4267534d1c42af847ed0cefd1c88c99f66b36571 10-Jul-2010 Adam Powell <adamp@google.com> Action Bar now supports submenus as popups.

Change-Id: I1691c16081b3474ed6d6e406f91f5f74a2dc8fcb
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
89e0645b4157961e8c465eb9c819f965fdb453d8 24-Jun-2010 Adam Powell <adamp@google.com> Added context modes to ActionBar API.

Change-Id: I7c3e782cbf01be7bc671b377fb4d706040888833
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
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
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
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
work).

Change-Id: I6db891bc35dc9683181d7708eaed552b955a077e
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
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
complete.

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

Change-Id: If52ddf1cf9f6926206bcdeadf42072ea2c24fab9
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java
83ea9e395e86ca2d12d822609ca2a8b35b78cca9 16-Jun-2010 Brett Chabot <brettchabot@android.com> am 685fcf36: am c95812e6: Merge "Move out all framework-tests classes." into gingerbread

Merge commit '685fcf364b84d5ac911ae9cbbc4fec99f36cbd48'

* commit '685fcf364b84d5ac911ae9cbbc4fec99f36cbd48':
Move out all framework-tests classes.
be81f4f15dad6d690efcab1973d1e174ce3b001b 15-Jun-2010 Brett Chabot <brettchabot@android.com> Move out all framework-tests classes.

Previously tests/framework-tests contained a quarantined set of test classes
that needed access to package-private framework api. Running these tests
normally would cause the dalvik verifier to throw errors.

runtest now has support for turning off the dalvik verifier for frameworks
tests, so move this tests into their recommended location, close to the source
being tested.

Also move policy source into a 'src' folder to accommodate the tests move.

Change-Id: I62f839da185a55bc553b653bf583fd99da438512
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java