summaryrefslogtreecommitdiffstats
path: root/core/java/android/widget/ActivityChooserModel.java
Commit message (Collapse)AuthorAgeFilesLines
* Remove an obsolete code commentSvetoslav2014-07-091-3/+0
| | | | Change-Id: Ia04f18eb9e9153d46e12219482e84b862e4ec8e6
* Share pack historical sorting using wrong keys.Svetoslav2013-10-281-9/+11
| | | | | | | | | | | | | | The ActivityChooserModel keeps a history of the last fifty share targets and based on past usage orders the targets in the UI. The soring implementation is using a map for improving performance. However, the activities in this map were keyed on the package name but there maybe more that one share target per package. Thus, the sorting was generating bad results. Now the unique component name is used. bug:11195578 Change-Id: I8c7018fea168b7253ddbe57b477028368726e75e
* Not show share targets that cannot be launched.Svetoslav2013-10-281-1/+9
| | | | | | | | | | | | | | | | | This changes filters out share targets that we cannot start because the target does not properly implement the SEND protocol and has either share target activity hidden or requires a permission to launch it. Also the code that launches the share target activity catches the runtime exception and shows an error message. Note that being able to launch an activity in a moment of time is not a guarantee that one can do that latter. Hence, being able to launch an activity while building the share UI does not guarantee that one can launch it when selecting the share target. bug:11402139 Change-Id: Id35732510755b2eeb9eccacc046d289c2f2ee856
* NPE in AcitivtyChooserModel.Svetoslav Ganov2012-09-211-2/+6
| | | | | | | | | | | 1. If there is not current intent sent and the client tries to choose an activity a NPE occurs. The code in chooseActivity now checks for null intent. Note that having a null intent is a valid state. bug:6738922 Change-Id: I91d4415649ce070d4fa4aa187e9eac02928dd38c
* Revert "Showing default activity in activity chooser view only if enough space."Svetoslav Ganov2012-05-151-10/+0
| | | | | | This reverts commit 340e2611de6d54516e222597585dbe7968a9915d Change-Id: I396b70e8c737e6f1c36429618889e5c8fc690b55
* Fix the build.Svetoslav Ganov2012-05-071-0/+1
| | | | Change-Id: I9b9e26e22a6be27341f4b0b95cb8edd1629fa812
* Merge "ActivityChooserModel does not handle package changes on the thread ↵Svetoslav Ganov2012-05-071-303/+244
|\ | | | | | | that created it." into jb-dev
| * ActivityChooserModel does not handle package changes on the thread that ↵Svetoslav Ganov2012-05-071-303/+244
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | created it. 1. The model is using a package monitor to observe changes in packages (adding/memoving/etc) to update its internal state for which it then notifies its clients. However, the monitor is called from a binder thread and the work has to be off handed on the thread that created the model. Hence, clients do not need to worry about using the the model from the UI thread since the change callback may touch the UI from another thread. bug:6386152 Change-Id: I882a0f4104907f64de64a95ece585052bba457d6
* | Showing default activity in activity chooser view only if enough space.Svetoslav Ganov2012-05-051-0/+10
|/ | | | | | | | | | | | | | | | | | | | | | 1. While a default target is very convenient, having two targets for the widget on a phone takes too much space and the apps do not have room to add other essential affordances to the action bar. Making the default activity show only of the screen is large enough - the action bar accommodates at least four targets i.e. 500dip. 2. Fixed a bug where changing the backing model of an ActivityChooserView when the view is not shown did not remove the observer for the old model, hence the View can get into a state where it responds to changes of two models while presenting only one. Also in such a case the view would leak since the singleton model will keep a handle to it. 3. Updated the documentation of share action provider to explain how a a developer can change the backing history file and refresh the UI based on the historical data in that file. bug:6447692 Change-Id: Id5c9e54cd5df322ded8574ba028cb680e628243b
* Move handling of package changes to a background thread.Dianne Hackborn2012-04-191-1/+1
| | | | | | Helps get rid of some jank when installing applications. Change-Id: I97d0022f82d67796e334d37086e5911dd6ca6b62
* Update the sharing UI according to latest UX specs.Svetoslav Ganov2011-09-081-0/+11
| | | | | | bug:3362473 Change-Id: Ic302c289e28061f53446f98e5b97573d57d9cfb8
* Adding a callback to ShareActionProvider + make ActivityChooserView popup ↵Svetoslav Ganov2011-08-041-4/+55
| | | | | | | | | | | | | | | hide on action bar hide. 1. Added a callback to ShareActionProvider allowing clients to be notified when an activity is chosed given them a change to say update their UI and also decide whether to handle the activity launch themselves. 2. The popup of the ActivityChooserView was not hiding on hiding the action bar. bug:5094963 bug:5095004 Change-Id: I6c8e8cc1f22d07e707e2218eb108f9101417b23b
* Activity selections not always persisted by AcitivtyChooserView.Svetoslav Ganov2011-07-211-2/+4
| | | | | | | | | | | | | | 1. ActivityChooserModel was delegating the rsponsibility for reading and persisting data to its clients i.e. ActivityChooserView and the latter was persisting on detach from window. However, it is not guaranteed that this callback will be received leading to lack of presistence sometimes. Now the model is responsible for loading and persisting thus voiding the posisbility a misbehaved client to cause data loss. bug:5061638 Change-Id: Ia2b7bb659f7b9abe8869c94b3eaa726ddd4e4fad
* Update the style of the action bar share UISvetoslav Ganov2011-07-171-1/+0
| | | | | | | | | | | | | | 1. Made the background of the default and expand buttons change when pressed. 2. When the share UI is shown on the overflow the "Show all" menu item was present event if all items are shown. 3. The width of the popup for picking an item was different for the action view and overflow case. bug:5039747 Change-Id: I72afbcf86c93596c7eba4d70c002eab060ff31f8
* Polish of the ActivityChooserView and ShareActionProvider.Svetoslav Ganov2011-07-131-32/+31
| | | | | | | | | | | | | | 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
* Adding a ShareView and ActionProvider for menus.Svetoslav Ganov2011-07-011-0/+1115
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. bug:4590827 Change-Id: Iaa4add2df2538b8c6c7edbeaf2880486d4fd75c5