Age | Commit message (Collapse) | Author |
|
Fix: 338229069
Test: manual testing
Flag: com.android.intentresolver.delay_drawer_offset_calculation
Change-Id: Ie18ccfa044f5067e769219359e6507615566be78
|
|
- Moves tap to scroll detection to the scrollable container instead of
the children of the container, reducing the amount of jank from
calculations required for each tap, as well as the code complexity.
- Encapsulates the behavior in a single Modifier extension for ease of
code readability and usability.
- Generifies the solution to work with any arbitrary scrollable
container.
Test: Manual test with Share Test
BUG: 384656926
Flag: com.android.intentresolver.shareousel_tap_to_scroll_support
Change-Id: Ic40e040068b2a8ce6038d2e9d7d2bca6f0a88670
|
|
Taps on the left or right edge of the scroll region will scroll in that
direction.
Test: manual test using ShareTest
BUG: 384656926
Flag: com.android.intentresolver.shareousel_tap_to_scroll
Change-Id: Ie0ebec58303577f56be8b28b4869c0ef9df3e3b8
|
|
Add known item cursor position to the item content description
annotation when showing more than one item. This works well when the
data provided by the app is consistent (the expected majority of the
cases).
The position annotation will be ommited in cases when we show the
initially shared items before the cursor is loaded and for the initially
shared items that were missing in the cursor.
Fix: 379032721
Test: manual testing
Flag: com.android.intentresolver.announce_shareousel_item_list_position
Change-Id: Ie669db3897961d2cf09a30ef229e10badb501566
|
|
|
|
|
|
This change re-introduce a fix for direct targets "blinking" after a
payload change is mande in the Shareousel under a new flag. It also
fixes the critical issue that caused the previus flag's reversal by a
proper cache cleaning.
Fix: 343300158
Test: test Shareousel payload changing and sharing to a shortcut.
Flag: com.android.intentresolver.fix_shortcuts_flashing_fixed
Change-Id: If7ade45bda4a2b42f9b5838cbb315ec00546489c
|
|
Present target grid as hierarchical for a11y purposes. This makes
TalkBack to announce sub-groups of targets.
Fix: 379208685
Test: Manual test for the following cases: (i) all group present
(shortcuts, suggested, all-apps), (ii) shortcuts are missing -- the
no-target message is shown, (iii) no suggested targets.
Flag: com.android.intentresolver.announce_shortcuts_and_suggested_apps
Change-Id: If08e9bcccab9db423c5b67c759bc0854d290e880
|
|
|
|
|
|
When an item is selected it will shrink and when it is unselected it
will grow back to the standard size. This provides improved visual
confirmation of the selected state of items.
Test: Manual test using Photos or ShareTest
BUG: 361792274
Flag: com.android.intentresolver.shareousel_selection_shrink
Change-Id: I7f5ca60d584900fc5e2ba0d479ecc0f2e624b367
|
|
Bug: 378493324
Test: manual testing with a test app
Test: atest IntentResolver-tests-unit
Test: atest IntentResolver-tests-activity
Flag: com.android.intentresolver.interactive_session
Change-Id: I15b303dd3912c63538930d39b7743e290adb480c
|
|
The flag was released with 24Q4.
Unused ImageLoader implementations, CachingImagePreviewImageLoader and
ImagePreviewImageLoader, are deleted.
Bug: 348665058
Bug: 343819590
Test: atest IntentResolver-tests-unit
Test: atest IntentResolver-tests-activity
Flag: EXEMPT flag removal
Change-Id: Ie6a090b724bfae9355f6c2dace5d6952140c92f3
|
|
Remove 24Q4-released 'fix_shortcut_loader_job_leak' feature flag.
Bug: 358135601
Test: presubmits
Flag: EXEMPT flag removal
Change-Id: I04242737b6269322231527b2110e6a5a07b31777
|
|
Remove 24Q4-released 'fix_missing_drawer_offset_calculation' feature flag.
Bug: 347316548
Test: presubmits
Flag: EXEMPT flag removal
Change-Id: Id03271034a81015d77b6bd4164073671feb50e9b
|
|
fix_drawer_offset_on_config_change was released in 24Q4; removed.
Bug: 344057117
Test: presubmits
Flag: EXEMPT flag removal
Change-Id: I20c2488e3a8d08fa349af9a05299745d32f8c9c2
|
|
And the other original (unused) flag without the '_bug' suffix.
Bug: 377522331
Flag: NONE released flag removal
Test: NONE no functional change
Change-Id: I6109a91a87c95681951cd254c0e470047c5b1741
|
|
Bug: 377521592
Flag: NONE released flag removal
Test: NONE no functional change
Change-Id: Ic21fa9975e58d0ae35d60cda5a2975ab028eac69
|
|
Bug: 377522329L
Flag: NONE released flag removal
Test: NONE no functional change
Change-Id: I347f415d461c942b454e7141143f0351bddf375a
|
|
Bug: 377522152
Flag: NONE flag removal
Test: NONE removing released flag
Change-Id: I690082b7b98f2fe3cf1bcc390613eaa31f105e23
|
|
Use Shareousel's target list updating logic in response to target pinning
and application changed broadcasts. Create new adapters and attach them
to the views after data is loaded, resulting in a cleaner visual update.
Fix: 230703572
Test: manual testing
Test: atest IntentResolver-tests-unit
Flag: com.android.intentresolver.rebuild_adapters_on_target_pinning
Change-Id: I1e7e2fd820195134ec4940f2e76bf7b3eac9e086
|
|
Fix: 362347212
Test: manual testing with injected debug logging
Flag: com.android.intentresolver.save_shareousel_state
Change-Id: Ibe393e84c0d7884fb1b7611e72df0c7779afce34
|
|
Use Launcher iconlib's FastBitmapDrawable for chooser item icons to
enable the Launcher pointer hover effect.
Add a custom ChooserTargetItemView to dispatch hover events.
Modify the chooser item layout to use the new view and replace image
view margins with paddings to accommodate scaled-up icons on hover.
Bug: 295175912
Test: atest IntentResolver-tests-unit
Test: manual testing for icons hover effect including the case of
disabled icons when no selections is made in Shareousel
Flag: com.android.intentresolver.target_hover_and_keyboard_focus_states
Change-Id: I9bc468895b72dc6770b8c4c7eeac7673b4d6a8b4
|
|
As a file name accessed independently from preview-related metadata and
also asynchronously, make it be retrieved through a separate provider
calls. This way an error during preview metadata call won't affect the
file name reading.
Bug: 365748223
Test: atest IntentResolver-tests-unit
Test: manual testing with a test app that shares a MediaProvider video
Flag: com.android.intentresolver.individual_metadata_title_read
Change-Id: I2e87913149e679fee22e4371d2b42f485c8b04e4
|
|
NestedScrollView is copied into the project from the prebuilt sources
and trivially refactored (the differerence is saved in
NestedScrollView.java.patch file).
ChooserNestedScrollView extends the copied NestedScrollView and disabled
scolling to the child that requests focus.
Bug: 325259478
Test: attach keboard and test that keyboard navigation is working
Flag: com.android.intentresolver.keyboard_navigation_fix
Change-Id: I759f3a21aad9197148df31c55ed1534021072bd9
|
|
Test: manual test using ShareTest
BUG: 351883537
FIX: 351883537
Flag: com.android.intentresolver.shareousel_scroll_offscreen_selections
Change-Id: Id9c7e31169bce11b722868338f87228c9450c9aa
|
|
When no items selected the UI will:
* change the chooser headline;
* make the custom action row invisible;
* make all targets disabled and all target icons greyscale.
Fix: 349468879
Test: atest IntentResolver-tests-unit
Test: manual functionality testing
Flag: com.android.intentresolver.unselect_final_item
Change-Id: I53b9c908943b1f1003cb0131a6dec8abc26ec782
|
|
Upon payload selection change, copy direct share targets into the new
adapters but keep the items disabled until the new set of shortcuts is
loaded. To have all targets updated at once, publish the caller-provided
targets together with the remaining direct shares.
Fix: 343300158
Test: manual testing: using the ShareTest app, launch the Shareousel
with a caller-provided targets and make the payload selection.
Flag: com.android.intentresolver.fix_shortcuts_flashing
Change-Id: Iff5ea6c892708daa9cca968a56a03aaaf80196f6
|
|
Use a nested coroutine scope for each ShortcutLoader instance and close
it when the instance is stopped being used.
Fix: 358135601
Test: atest IntentResolver-tests-unit
Test: manual testing checking the logs
Flag: com.android.intentresolver.fix_shortcut_loader_job_leak
Change-Id: I84bbca75612f153193b03e24bfc0cb8842a8d3e2
|
|
|
|
Bug: 285314844
Test: presubmits
Flag: EXEMPT flag removal
Change-Id: I82c0fea0b208cf40a5c509ca7e8e25e1de999030
|
|
Bug: 352496527
Test: atest IntentResolver-tests-unit
Test: manual testing using ShareTest app
Flag: com.android.intentresolver.shareousel_update_exclude_components_extra
Change-Id: I610edf2c11a5beb114185c8724347b0eb0487ef1
|
|
|
|
Replace ImagePreviewImageLoader and CachingPreviewImageLoader with the
new class, PreviewImageLoader.
Fix: 348665058
Fix: 343819590
Test: atest IntentResolver-tests-unit
Test: atest IntentResolver-tests-activity
Test: inject debugging logs for image requests, loadings, and
cancellations and verify common scenarios.
Flag: com.android.intentresolver.preview_image_loader
Change-Id: Ib54ea0d538cd2cbaef6041f09eeb2b9eb6ada4cf
|
|
Fix: 344057117
Test: manual testing
Flag: com.android.intentresolver.fix_drawer_offset_on_config_change
Change-Id: I0fb633b02299c0a4845bfa09bbbb234915ccb487
|
|
Launched.
Bug: 339583191
Test: presubmits
Flag: EXEMPT removing com.android.intentresolver.fix_partial_image_edit_transition
Change-Id: I8e826f05690dcfdf4bed1cfcdf036218fe3b708e
|
|
Launched.
Bug: 302188527
Test: presubmits
Flag: EXEMPT removing com.android.intentresolver.bespoke_label_view
Change-Id: Ia3f3b80b6e854f4ecd569936e144815e5ab592d7
|
|
Launched.
Bug: 324011248
Test: presubmits
Flag: EXEMPT removing com.android.intentresolver.fix_target_list_footer
Change-Id: Id18ee5168b9adbb6b8c383312dbaef0603fc31a2
|
|
Shareousel has a variable-sized preview that affects the overall drawer
offset. Therefore, we cannot early return from the offset calcualtion
based solely on the condition that the targets list has not changed.
Empirically, this introduces a minor overhead of the offset
recalculation when the drawor is snapped to/from the top.
Fix: 347316548
Test: manual testing with injected debug logging
Flag: com.android.intentresolver.fix_missing_drawer_offset_calculation
Change-Id: I69ec7a5e05fad0d6607e3614208b30910a3a17ba
|
|
When launching an image editor, do not run the shared element transition
animation for a paritally visible image.
Fix: 339583191
Test: atest IntentResolver-tests-unit
Test: atest IntentResolver-tests-activity
Test: manual testing
Flag: com.android.intentresolver.fix_partial_image_edit_transition
Change-Id: Idbcf3712d4d13966e656387b803d56486fa8e1a2
|
|
Change-Id: I6416928fe2bd5531b67e53b4403f1213d832282d
|
|
Share sheet only dismisses when it is moved to the background.
When private space is set to lock automatically, the private
space profile tab may remain visible, leading to disclosure
risk.
When restarting ChooserActivity, if the private tab was visible
but the private profile has since become locked, the activity
will be finished instead.
Bug: 338125945
Flag: com.android.intentresolver.fix_private_space_locked_on_restart
Test: manual; see description, screencast in bug
Change-Id: I294bf62f0a73f6c1b73f598109814701215cdeb5
|
|
Profile pager empty state inset padding was only applied when
'hasWorkProfile' was true. This seems to have been an alias
for "are tabs shown", however this is no longer correct.
Instead the "empty content" padding should include system bar
insets unconditionally. For a test case, enable 3-button nav,
add a private profile and test sharing content which has no
matching apps (ShareTest with no text). The empty state view
is shown partially beneath the nav bar.
Bug: 338447666
Test: manually; see change description
Flag: com.android.intentresolver.fix_empty_state_padding
Change-Id: I8a65214095de3517330d75e20da9bf0d35a82bac
|
|
|
|
This is an important bugfix since Android API docs imply that app
developers may start a share session with an "incomplete" payload
and rely on refinement to replace the content post-selection.
System actions will similarly want to use "complete" (i.e.,
potentially-refined) payloads.
The approach is based on the observation that our existing refinement
flow, despite historically operating in terms of `TargetInfo` objects,
is really a function (async) from a list of one or more matching
intents to a refined intent filter-matching at least one of the
sources, and we can use the same mechanism to request a refinement
of the "target intent" we originally used to derive the system
actions and then simply re-derive them by applying the same logic
to the refined intent.
Per feedback on the earlier prototypes (ag/26681688 and ag/26765080),
this implementation explicitly tracks the requested "type" of
selection when we initiate a refinement flow so that we can handle
the result by-cases when we later `consume()` the result.
Bug: 331206205
Flag: com.android.intentresolver.refine_system_actions DEVELOPMENT
Test: existing refinement tests + manually exercised w/ShareTest app
Change-Id: I83e5a2e088387c495dec7e41fee0e311a82644f1
|
|
Bug: 287102904
Test: atest IntentResolver-tests-unit
Test: atest IntentResolver-tests-activity
Change-Id: I028a246907a076680e26acdb816b3f32020fa772
|
|
Bug: 328029692
Test: None
Change-Id: I5f7e0342545edcdb18f8b6e3bb183e03c020a862
|
|
Fix: 324011248
Test: manual testing (launching chooser while a keyboard is shown)
Flag: ACONFIG com.android.intentresolver.fix_target_list_footer
DEVELOPMENT
Change-Id: I6bbadde2535cd9a6a43563021b37658fc566d19f
|
|
|
|
This flag will gate enabling new functionality in IntentResolver
for the private space feature.
Bug: 311348033
Test: n/a
Change-Id: Ia7cab9548c0aa2816256f74ba018bf2afcde8668
|