History log of /frameworks/base/core/java/com/android/internal/view/menu/ActionMenuPresenter.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
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
/frameworks/base/core/java/com/android/internal/view/menu/ActionMenuPresenter.java
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
day.

Bug 11174504

Change-Id: I7e8a444f6996ec95417d20e87938f496e9c3a4dd
/frameworks/base/core/java/com/android/internal/view/menu/ActionMenuPresenter.java
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
/frameworks/base/core/java/com/android/internal/view/menu/ActionMenuPresenter.java
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
/frameworks/base/core/java/com/android/internal/view/menu/ActionMenuPresenter.java
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
/frameworks/base/core/java/com/android/internal/view/menu/ActionMenuPresenter.java
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
/frameworks/base/core/java/com/android/internal/view/menu/ActionMenuPresenter.java
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
/frameworks/base/core/java/com/android/internal/view/menu/ActionMenuPresenter.java
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
/frameworks/base/core/java/com/android/internal/view/menu/ActionMenuPresenter.java
fbe4a586c29b6e415e8d39d73d19bd7f0215a851 06-Sep-2013 Alan Viverette <alanv@google.com> Add drag-to-open for action bar submenus

BUG: 10649895
Change-Id: I5076e0d09453a75ed20c44eede4b43e8a2f535fd
/frameworks/base/core/java/com/android/internal/view/menu/ActionMenuPresenter.java
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

bug:10461302

Change-Id: I9709a271ab3720e064b98c79c0950d811fe37b73
/frameworks/base/core/java/com/android/internal/view/menu/ActionMenuPresenter.java
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
/frameworks/base/core/java/com/android/internal/view/menu/ActionMenuPresenter.java
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
/frameworks/base/core/java/com/android/internal/view/menu/ActionMenuPresenter.java
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
/frameworks/base/core/java/com/android/internal/view/menu/ActionMenuPresenter.java
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
/frameworks/base/core/java/com/android/internal/view/menu/ActionMenuPresenter.java
80e72700858eb58b379f77a0da5fd3a98e1aa07c 29-Jul-2013 Alan Viverette <alanv@google.com> Implement drag to open overflow menu, lift to select

BUG: 9437139
Change-Id: Iaa962453ba1b2c739a04b6b1be4f6de1fb2fa752
/frameworks/base/core/java/com/android/internal/view/menu/ActionMenuPresenter.java
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.

bug:7319766

Change-Id: I5cfda6269466fafca1f039a3bab6397392ae9f17
/frameworks/base/core/java/com/android/internal/view/menu/ActionMenuPresenter.java
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
/frameworks/base/core/java/com/android/internal/view/menu/ActionMenuPresenter.java
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.
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
drawable.

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
/frameworks/base/core/java/com/android/internal/view/menu/ActionMenuPresenter.java
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
/frameworks/base/core/java/com/android/internal/view/menu/ActionMenuPresenter.java
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
/frameworks/base/core/java/com/android/internal/view/menu/ActionMenuPresenter.java
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
/frameworks/base/core/java/com/android/internal/view/menu/ActionMenuPresenter.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/core/java/com/android/internal/view/menu/ActionMenuPresenter.java
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
/frameworks/base/core/java/com/android/internal/view/menu/ActionMenuPresenter.java
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/core/java/com/android/internal/view/menu/ActionMenuPresenter.java
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
/frameworks/base/core/java/com/android/internal/view/menu/ActionMenuPresenter.java
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
/frameworks/base/core/java/com/android/internal/view/menu/ActionMenuPresenter.java
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
changes.

Change-Id: Iaeed7d924a7b8b40849fd8e1826ed1c8f4079c94
/frameworks/base/core/java/com/android/internal/view/menu/ActionMenuPresenter.java
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
/frameworks/base/core/java/com/android/internal/view/menu/ActionMenuPresenter.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/core/java/com/android/internal/view/menu/ActionMenuPresenter.java
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
/frameworks/base/core/java/com/android/internal/view/menu/ActionMenuPresenter.java
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
/frameworks/base/core/java/com/android/internal/view/menu/ActionMenuPresenter.java
9151103ff20d28e8db2a2cc0386d57b8dad4b5d5 13-Jul-2011 Adam Powell <adamp@google.com> Preserve spacing for icons in menus

Change-Id: I3269fcffb98a84b6a5c5f9198afd2b2eae7d5f02
/frameworks/base/core/java/com/android/internal/view/menu/ActionMenuPresenter.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/core/java/com/android/internal/view/menu/ActionMenuPresenter.java
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
/frameworks/base/core/java/com/android/internal/view/menu/ActionMenuPresenter.java
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
/frameworks/base/core/java/com/android/internal/view/menu/ActionMenuPresenter.java
ea1ca952c625d51dc71e1cc3d955b239921888c7 21-Jun-2011 Adam Powell <adamp@google.com> Fix bug 4108953 - Old-style menus do not show menu items marked as
showAsAction="always"

Change-Id: I63299143ea780abeed6dcdece6934f0e704b46a2
/frameworks/base/core/java/com/android/internal/view/menu/ActionMenuPresenter.java
1ab418a222e1834c4b1312fde355e41a1947af0d 10-Jun-2011 Adam Powell <adamp@google.com> Refine the behavior of split action bars.

Change-Id: I27212c7554025433ee366f0766971f0092b26d67
/frameworks/base/core/java/com/android/internal/view/menu/ActionMenuPresenter.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/core/java/com/android/internal/view/menu/ActionMenuPresenter.java
e42b189f369b6b0cb35095bc5386ba82b5ce39a5 03-May-2011 Adam Powell <adamp@google.com> Remove debug logging

Change-Id: If1a8ef5461b98239d8f55f842e1043b6b3d0f070
/frameworks/base/core/java/com/android/internal/view/menu/ActionMenuPresenter.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/core/java/com/android/internal/view/menu/ActionMenuPresenter.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/core/java/com/android/internal/view/menu/ActionMenuPresenter.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/core/java/com/android/internal/view/menu/ActionMenuPresenter.java