3a09c52914796135159009438a14b51b3e475fb4 |
|
21-Oct-2015 |
Adam Powell <adamp@google.com> |
Don't query ChooserTargetService apps that haven't been used recently Resolver/ChooserActivity sort apps based on usage factors for the last two weeks. A score of zero means no usage data within that timeframe. For system health and UI relevance, don't bother even waking up apps that have zero scores. Bug 25126166 Change-Id: Iae34a9667eb1985d6fe986670f3fb3f1177576da
/frameworks/base/core/java/com/android/internal/app/ChooserActivity.java
|
77a533f5b2a1640f52fc2ccbcf8c74c9aed94d6e |
|
16-Oct-2015 |
Adam Powell <adamp@google.com> |
Fix ChooserTarget app scoring An initial sorting step before applying modifiers to the ChooserTarget scores provided by apps was backwards, causing subsequent target scores to be heavily penalized. Targets are then heavily influenced by the lowest score in the set relative to the targets from other apps. Bug 25013559 Change-Id: I39d5d7c601712fc6a19e694d5846d2c8d17a214f
/frameworks/base/core/java/com/android/internal/app/ChooserActivity.java
|
4eb9871ead5fa5f6b86bacee3a18d9ad52ad6d32 |
|
14-Oct-2015 |
Adam Powell <adamp@google.com> |
Fix bugs introduced in ChooserActivity * Wait to start animations until all state has been initialized, as the process of starting an Animator will set initial values, triggering other events relying on the configured state. * Correctly track underlying item indexes for columns. * Do not over-extend the ResolverDrawerLayout when multiple rows animate in. Bug 24926885 Bug 24928706 Change-Id: I4772e1a0ba79b17b5dc19c778f3ef0cb5200c533
/frameworks/base/core/java/com/android/internal/app/ChooserActivity.java
|
11af18783d32f8646428500a0ff3a2a57a77bf95 |
|
13-Oct-2015 |
Adam Powell <adamp@google.com> |
Merge "Add animation and positional stability to intent chooser UI" into mnc-dr-dev
|
6ef8578ef44a69a391861e1103cee0ca9b745775 |
|
28-Sep-2015 |
Adam Powell <adamp@google.com> |
Add animation and positional stability to intent chooser UI Dejank the process of bringing in new ChooserTargets from queried services. Animate the service target rows in upward so that if the user's finger is already headed for a visible choice we don't inject something wrong right under them at the last second. Keep things sane if the user is dragging the UI while we're bringing in new items. To animate this, since we can't use RecyclerView from the framework we treat the height of rows as a conceptual data set change for ListView. To get away with doing this per-frame we pre-measure the item height (which remains constant) instead of doing more expensive wrap_content calculations. ResolverDrawerLayout is now aware of how to account for a cheat-measured ListView to compensate. Bug 24038066 Change-Id: I01414a5746815255ff948a6d0887bb5ad0897285
/frameworks/base/core/java/com/android/internal/app/ChooserActivity.java
|
cc2ae6b421353e03160df3b05ce9042b8a5ff8cc |
|
29-Sep-2015 |
Jeff Sharkey <jsharkey@android.com> |
Relax auto-launch checks for GET_CONTENT. When a developer wraps an intent with Intent.createChooser(), they're indicating that the user should always be prompted, instead of using any "always use" defaults. A recent CL changed the chooser behavior to ensure that UI is always shown in the case where there is only one match. However, this caused us to start prompting for the GET_CONTENT intent, for which there is only ever one DocumentsUI system app. Since that app delivers on the createChooser() contract described above, we're okay automatically launching it. Bug: 24464358 Change-Id: I0279d3343479c134a35f41ddf3cb4204d0ae6a90
/frameworks/base/core/java/com/android/internal/app/ChooserActivity.java
|
00f4aad704198a8293b9a1d2b931b8708073fe15 |
|
17-Sep-2015 |
Adam Powell <adamp@google.com> |
Badge ChooserActivity choices with their app icon for disambig When two or more activities with the same user-visible label are shown, we have traditionally shown the app name or package name if the app names also match. This was to help the user tell the difference between multiple apps publishing similar activities and avoid unintentionally starting the wrong one. However, in the case of explicit choosers (e.g. ACTION_SEND sharing) a few common collisions occur in practice and falling all the way back to package name isn't very helpful. Instead, we now assume that the app icon, which the user has seen before at install time, is unique enough on its own to disambiguate these cases and avoid user confusion. We no longer show the app name or package name as secondary text in the chooser. In cases where an activity has a different icon from its containing app, we now badge the activity icon with the app icon so that the user knows which app a potentially ambiguous choice belongs to. Bug 24113937 Change-Id: Ie54fbf77bfcc86e50768f93be2be0e53cf2ce7b5
/frameworks/base/core/java/com/android/internal/app/ChooserActivity.java
|
39e94ebe22d4959facea4c3621a0a5377242a570 |
|
09-Sep-2015 |
Adam Powell <adamp@google.com> |
Handle single-choice ChooserActivities and bound ChooserTargetServices Fix cases where we could try to unbind from a ChooserTargetService that is not connected. This could happen if we still had stale replies coming back after the activity was destroyed. Always offer users an explicit choice in ChooserActivity, don't auto-start a single option. Make sure we don't allow a wedged ChooserTargetService to hold a hard reference to the ChooserActivity via its internal result callback. Bug 23152483 Change-Id: I7c8b1fc9559dcd477702ef582011b088b07d646b (cherry picked from commit 9761ab2a645a4643bd20619c7c148ef07e0dd39d)
/frameworks/base/core/java/com/android/internal/app/ChooserActivity.java
|
ce5d92c31370b8c0e6989506e1ee95e181f93c53 |
|
31-Jul-2015 |
Alan Viverette <alanv@google.com> |
Add badge content description to TargetInfo, use in ResolverActivity Bug: 22667344 Change-Id: Iee241b9179c74a15b1c635cf90d2f96f6f7b31cd
/frameworks/base/core/java/com/android/internal/app/ChooserActivity.java
|
666d82a6d5c6a90e87591aea1aabac3d647cd541 |
|
16-Jul-2015 |
Adam Powell <adamp@google.com> |
Update ChooserTarget constructor to take ComponentName, Bundle Simplify ChooserTarget handling by requiring a target component and an extras bundle instead of a full PendingIntent/IntentSender. This simplifies the handling of URI grants from sending apps. Prune ChooserTargets that point at ComponentNames that don't share a package with the original matching Activity target or that aren't exported so that we don't show the user something they can't launch. Bug 22516282 Change-Id: I3439c0910b4fa4f95c7a881b529942c96ffc953e
/frameworks/base/core/java/com/android/internal/app/ChooserActivity.java
|
a182e45c6851a8db89e8b0900f0812806ff295d4 |
|
07-Jul-2015 |
Adam Powell <adamp@google.com> |
Sort and limit ChooserActivity targets from ChooserTargetServices Apply an automated decay factor if apps decide to claim all of their targets are SUPER IMPORTANT. Apply the multiplier from the apps themselves as well as a penalty for apps that come in late - let's see how fast developers get their ChooserTargetServices to start! Also fix a bug with ResolverDrawerLayout where dragging from the title area wouldn't always work properly. Bug 22302285 Change-Id: Ib6eb2b6fb92608790b2267c0f671c9ae59b2907e
/frameworks/base/core/java/com/android/internal/app/ChooserActivity.java
|
4c470d641c6906a742b63273b305695ba575b3e1 |
|
20-Jun-2015 |
Adam Powell <adamp@google.com> |
Add voice interaction support to ResolverActivity/ChooserActivity All options are sent to the VoiceInteractor once ChooserTargetServices have reported in. We don't perform explicit progressive refinement or filtering, but an explicit option picked will be invoked. Also fix a lingering bug around being able to nested-fling the resolver drawer closed. Bug 21516866 Change-Id: I6b141f5fa87d74dccec9dcb88110630696e9c38e
/frameworks/base/core/java/com/android/internal/app/ChooserActivity.java
|
98b7f8943080ff4b0c636ad37b62556453018839 |
|
19-Jun-2015 |
Adam Powell <adamp@google.com> |
Fix regression in viewing app info from ChooserActivity targets Also add metrics logging to ChooserActivity Bug 21953567 Bug 21953720 Change-Id: I6bba2cfe9b9e551e6fe6f2d4f92fc040eebf355c
/frameworks/base/core/java/com/android/internal/app/ChooserActivity.java
|
a408061cc7b5efaf090ce9efd5fd0ba1d95e9c11 |
|
19-Jun-2015 |
Sudheer Shanka <sudheersai@google.com> |
Merge "Use the intent filter icon in ResolveInfo for managed profile." into mnc-dev
|
9ded760f6378b79ae5f91fe694744981a4154d0b |
|
19-May-2015 |
Sudheer Shanka <sudheersai@google.com> |
Use the intent filter icon in ResolveInfo for managed profile. Bug: 20753645 Change-Id: Ifed4b498524272517c9f3338ba88fcbcd3b22075
/frameworks/base/core/java/com/android/internal/app/ChooserActivity.java
|
5007735782ef5b48a5a8b6d317aff693ffad2db9 |
|
27-May-2015 |
Adam Powell <adamp@google.com> |
Fix one-action choosers with EXTRA_INITIAL_INTENTS Fix a bug where initial intents weren't respected as valid options when there is only one choice available. Bug 21304304 Change-Id: I304ee6acf20a367da6296132f85d913ad9fce127
/frameworks/base/core/java/com/android/internal/app/ChooserActivity.java
|
13036beab1579fabe1a93e1839c13cb68a49adf6 |
|
12-May-2015 |
Adam Powell <adamp@google.com> |
Apply API feedback for ChooserTarget * Add better docs to ChooserTarget * Change ChooserTarget to use android.graphics.drawable.Icon instead of Bitmap * Preserve EXTRA_REFERRER when starting ChooserTargets Bug 21045119 Change-Id: If859b86344cebaed3eaae477af132e7d7600aba6
/frameworks/base/core/java/com/android/internal/app/ChooserActivity.java
|
7d7580019e44e2e162df01ffff51de20ed0721b3 |
|
07-May-2015 |
Adam Powell <adamp@google.com> |
Bringing new Chooser UI closer to spec Separate the chooser targets into rows by type. Remove some API that was redundant with LabeledIntent, simplifying ChooserTarget. Change-Id: I90de471825f05d85e6ffbe72a32fb597be824a30
/frameworks/base/core/java/com/android/internal/app/ChooserActivity.java
|
2ed547e55f820a9c705872d802b051d8ae9c906b |
|
30-Apr-2015 |
Adam Powell <adamp@google.com> |
Add alternate intents and refinement callbacks to ChooserActivity Allow a calling app to supply an array of additional Intents to the system ChooserActivity. The chooser will present a merged list of targets that can handle any of the Intents supplied, including both the standard EXTRA_INTENT as well as any of the intents supplied in EXTRA_ALTERNATE_INTENTS. These are treated as ordered; EXTRA_INTENT is considered the first/primary Intent and EXTRA_ALTERNATE_INTENTS are sorted most important first. Targets are queried for all supplied Intents. If the same component is returned for more than one Intent, the target is associated with the most important Intent that matched. This allows calling apps to supply several different payloads for an action depending on what the intended targets are able to support. For example, an app performing ACTION_SEND may supply image/jpeg data to compatible targets or a hosted web link to targets that only support text/plain. The user will have the opportunity to pick from a single merged list of choices using the best available payload, and will not be bothered with the implementation details of how the payload will be delivered to the recipient. If the calling app wishes to provide further disambiguation or refinement after the user makes a choice, for example to let the user choose which of the source intents to send from the primary or alternates, show a progress dialog as a full-resolution version of a photo is downloaded from the server before being sent along or while reticulating splines, the caller can supply an IntentSender to ACTION_CHOOSER including the extra EXTRA_REFINEMENT_INTENT_SENDER. This should be the IntentSender obtained from a PendingIntent pointing at an activity to launch to perform the refinement. The refinement activity should report that it is finished by obtaining the ResultReceiver from EXTRA_RESULT_RECEIVER. Available intents to send to the selected target will be contained in EXTRA_INTENT and EXTRA_ALTERNATE_INTENTS. To complete the refinement and send the result along to the chosen target, the refinement activity should select one of the supplied intents and send it to the ResultReceiver in a Bundle with the key EXTRA_INTENT and the result code RESULT_OK. To cancel the refinement, and let the user select another choice, send RESULT_CANCEL. While refinement activities cannot modify the filterEquals-affecting fields of the Intent they return, they may modify extras to provide additional or altered details to the final recipient. These extras will be filled into the Intent sent to the final target. Change-Id: I7ad4739eadd1a0e307675847ccf47ea948918a3a
/frameworks/base/core/java/com/android/internal/app/ChooserActivity.java
|
d974c7b4d150661562e341eb743986f06d150298 |
|
29-Apr-2015 |
Adam Powell <adamp@google.com> |
Fix a bug when constructing a ChooserTargetAdapter without custom targets Bug 20667333 Change-Id: Ia35021d12c00f64f5424588f776d79e18e8d518e
/frameworks/base/core/java/com/android/internal/app/ChooserActivity.java
|
0ccc0e9348e42fd8094bb12324f7c5bb6ca018ad |
|
24-Apr-2015 |
Adam Powell <adamp@google.com> |
Wire up caller chooser targets for ChooserActivity Add the caller-supplied ChooserTargets from EXTRA_CHOOSER_TARGETS in the default ChooserActivity. These appear before other options. Change-Id: Ic4d23ae9ecdfd0cc8a5ac077696d7334a8f844a6
/frameworks/base/core/java/com/android/internal/app/ChooserActivity.java
|
c6d5e3a406c0e80638304980bac13abaa703a9a0 |
|
23-Apr-2015 |
Adam Powell <adamp@google.com> |
Fixes for ChooserTargetActivity * Always ensure intent filter is supplied to a ChooserTargetService. * Add and clarify docs for ChooserTarget constructors. * Fix a bug where ChooserTargets were being parceled incorrectly. Change-Id: I32b70c424b0e6bb317e2eeb810566a30c21b9d53
/frameworks/base/core/java/com/android/internal/app/ChooserActivity.java
|
2442841819f9554f9b5c8b9c147a51b04e50de4d |
|
02-Apr-2015 |
Adam Powell <adamp@google.com> |
Implement ChooserTargetService querying for ChooserActivity First cut at querying services provided by apps that offer ChooserTargetServices. This first implementation provides no ranking. Bind to a limit of 5 ChooserTargetServices and offer the ChooserTargets they provide as options in the system ChooserActivity. The chooser now presents targets as a grid and displays the activity icon from the referrer activity. Change-Id: I45db829f184fc78d4f18d42b2a60b25bc301eba8
/frameworks/base/core/java/com/android/internal/app/ChooserActivity.java
|
0e2b73f6858479ca963bd53c49f8955d98f14869 |
|
27-Oct-2014 |
Nicolas Prevot <nprevot@google.com> |
An intent forwarded from a chooser intent will be a chooser too. If a chooser intent is fired: If the user picks "work" or "personal apps": send a chooser intent to the other profile instead of sending a normal intent. Also using a userId instead of a userHandle for the target user. BUG:16514027 Change-Id: I2e45cd57ad72e9b7280e772b31fc10938642ba59
/frameworks/base/core/java/com/android/internal/app/ChooserActivity.java
|
0b3c11260ae5ea09c7e702802b39f77afc74f35f |
|
09-Oct-2014 |
Adam Powell <adamp@google.com> |
Intent chooser callback Let an app specify an IntentSender as an extra for ACTION_CHOOSER that will be notified of the user's chosen target. Apps can use this to implement things like one-touch last used affordances without implementing their own one-off chooser UI. Bug 17363684 Change-Id: Ic5d1d0e0c7a0bae3eda6b1d6ade993f3ba865cfa
/frameworks/base/core/java/com/android/internal/app/ChooserActivity.java
|
028ceeb472801bcfa5844fc89ed0da8463098824 |
|
18-Aug-2014 |
Dianne Hackborn <hackbod@google.com> |
Fix issue #14617210: Apps can gain access to any ContentProvider... ...with grantUriPermissions (no user interaction required) Add a new path in to the activity manager to start an activity as if it was directy started by the original calling activity. This is specifically for the resolver activity and chooser activity to be able to safely launch its data after serving as an intermediary. Access to the new method is highly restricted -- it can only be called by an activity that is declared in the framework apk itself, and the execute-as-the-caller behavior will only happen if the code is running under the system uid. (This means we could still have these run in the client's process in some cases and still work correctly.) Note there is some commented out code here half-done about trying to propagate security exceptions back to the original calling activity. This would be really nice, especially now with the chooser activity running in a system process so any errors made by the app (bad permission grants, bad intents, etc) no longer actually appear in the app so are essentially invisible. I'd really like to figure out a way to propagate these exceptions back to the app, but this is hard since the app's process may no longer even be running at this point. Also tweak activity manager dump output to split the recents dump out from activities, since recents can now be super large. Change-Id: I50410c4783faf9302c69290589a068a846e0973a
/frameworks/base/core/java/com/android/internal/app/ChooserActivity.java
|
13420f2311757554c314f620c83cb55153b67612 |
|
19-Jul-2014 |
Dianne Hackborn <hackbod@google.com> |
Fix issue #16400873: Apps that show ads as new tasks stay in recents... ...even when I hit back or close the activity in UI Change the semantics of NEW_DOCUMENT to have the recents entry be removed by default when its activity is finished, with various ways to explicitly turn off this behavior. Change-Id: Idc717706d27de80f28b53ad76f9e375d85118d71
/frameworks/base/core/java/com/android/internal/app/ChooserActivity.java
|
e49d9393783f2789239f8da536abda9533ffadf0 |
|
18-Jul-2014 |
Adam Powell <adamp@google.com> |
Add EXTRA_REPLACEMENT_EXTRAS for ACTION_CHOOSER This allows the calling app to supply a set of alternative extras to be sent along with the target intent if the user chooses specific items from the full set available on the device. When replacement extras have the same key as extras in the initial intent, the replacement extras dominate. Change-Id: I5d64c80447386f22402b71291bb289a74015d619
/frameworks/base/core/java/com/android/internal/app/ChooserActivity.java
|
278902c982443b3c196aa4642dcf3e0fffe4b23d |
|
13-Jul-2014 |
Adam Powell <adamp@google.com> |
Updated "with-default" layout added for ResolverActivity Add a layout that promotes the last chosen activity to the top for ResolverActivity. Alter ResolverActivity behavior as appropriate: Only the last selected activity can be set as default. Different activity selections take effect immediately. You can only set a default if it was the last-used target of the intent. Also add some default strings for invoking common intents to make the no-title invocations a bit more user-friendly than just, "complete action using." Bug 15694906 Change-Id: I8c75d2f812926805c949cc76bab48aa4094e002f
/frameworks/base/core/java/com/android/internal/app/ChooserActivity.java
|
2c60de3f6d849a581cca89ece7149c3836b3b6e4 |
|
04-Jun-2014 |
Craig Mautner <cmautner@google.com> |
Launch document sharing into unique activities If the same item is shared twice (or more) a new activity for sharing will be launched each time. Previously the first sharing activity would be reused. Fixes bug 14903271. Change-Id: Ib9e618f3d42079836529e86c138a6c999350cac5
/frameworks/base/core/java/com/android/internal/app/ChooserActivity.java
|
411d2aed2bb51ea0ba258fc45c8f8029c409e881 |
|
08-May-2014 |
Craig Mautner <cmautner@google.com> |
Make ChooserActivity intents doccentric and transitory Activities launched from the chooser activity will now appear in their own tasks which will be automatically removed from recents when they are finished. Also qualified application of new flags with null check and Action check. Must be either ACTION_SEND or ACTION_SEND_MULTIPLE. Fixes bug 14463859. Fixes bug 14633773. Change-Id: I8832462163958f6a43bc4c6a020f78948ce70ac3
/frameworks/base/core/java/com/android/internal/app/ChooserActivity.java
|
9d6376a1d88ab5b3a41ee4400e3aaa4c4ee69e2a |
|
12-Feb-2014 |
Christopher Tate <ctate@google.com> |
Always call super.onCreate(). Always. Bug 12991134 Change-Id: Ife16ef93408253e3318a06dc0206ab4b88c7f367
/frameworks/base/core/java/com/android/internal/app/ChooserActivity.java
|
437ff39c74db4add53e694b012f1f8462e1d34c7 |
|
26-Jan-2011 |
Jeff Hamilton <jham@android.com> |
resolved conflicts for merge of eb645a15 to honeycomb-plus-aosp Change-Id: Idc241a61ea3f506f8c0877f4dcdabb89a2635c13
|
d88e9aa575eb3a9d20cdb0e8918d54993e1ce1e0 |
|
24-Jan-2011 |
Jeff Hamilton <jham@android.com> |
Use classnames instead of ints for NFC techs. This makes the system more flexible and allows adding new technology types without having to update the API. Change-Id: Iaee6b633965e501a70e8afc3f1d54d9d94a4d05a
/frameworks/base/core/java/com/android/internal/app/ChooserActivity.java
|
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/core/java/com/android/internal/app/ChooserActivity.java
|
eb034652c2037a47ebfd99779e8383bb8bb528af |
|
07-Sep-2009 |
Dianne Hackborn <hackbod@google.com> |
Implement all of the infrastructure for configuring wallpapers. Actually being able to configure a wallpaper relies on additional work in the launcher and wallpapers that will be in another change. Also note that this breaks all existing wallpapers, since they now need to include a meta-data item about themselves. This also will be fixed in another change. Change-Id: I97d2c2bd07237abc32f92b9147c32530a2f73c71
/frameworks/base/core/java/com/android/internal/app/ChooserActivity.java
|
9066cfe9886ac131c34d59ed0e2d287b0e3c0087 |
|
04-Mar-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import from //depot/cupcake/@135843
/frameworks/base/core/java/com/android/internal/app/ChooserActivity.java
|
d83a98f4ce9cfa908f5c54bbd70f03eec07e7553 |
|
04-Mar-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import from //depot/cupcake/@135843
/frameworks/base/core/java/com/android/internal/app/ChooserActivity.java
|
54b6cfa9a9e5b861a9930af873580d6dc20f773c |
|
21-Oct-2008 |
The Android Open Source Project <initial-contribution@android.com> |
Initial Contribution
/frameworks/base/core/java/com/android/internal/app/ChooserActivity.java
|