Add a Logger for sharesheet and add calls into ChooserActivity.java
Bug: 147508495
Test: manual testing and added unit tests into ChooserActivityTests.
Change-Id: I0024b5020f47475a28c4745af4d8ef268e5f85be
This is a follow up CL to our previous CL [1], which implemented
fail-fast mode for blocking InputConnection APIs based on
IInputMethod.unbindInput() async signal from IMMS to IMS.
What was not implemented in the previous CL was a mechanism to
immediately unblock a sync InputConnection API call that is already
requested to the IME client process and waiting for its response.
With this CL, any blocking InputConnection API fails immediately when
IInputMethod#onUnbindInput() is delivered to the IME process, without
waiting for the full time-out period (MAX_WAIT_TIME_MILLIS == 2 sec)
to pass.
Implementation Note:
The key idea is to use CountDownLatch to compose multiple wait
conditions.composed wait condition. The CountDownLatch is initialized
with 1 then will be decremented when:
A. received a result from the IME client
B. received IInputMethod.unbindInput()
Hence InputConnectionWrapper can simply wait for the CountDownLatch to
become 0 with an existing timeout (MAX_WAIT_TIME_MILLIS) then returns
failure unless the CountDownLatch became 0 because of A.
[1]: I0f816c6ca4c5c0664962432b913f074605fedd27
1d113d041f
Fix: 36897707
Test: atest InputConnectionBlockingMethodTest
Test: InputConnectionBlockingMethodTest#*FailFastAfterUnbindInput()
take shorter time to complete.
Test: Monitor logcat with `adb logcat -s InputConnectionWrapper:*`
while running `atest InputConnectionBlockingMethodTest`
Change-Id: Ic65a95eb5d0fd56f505a02fd9083bcf6694b6734
Previously app ops weren't showing in conversation notifications
Also made sure that they show in case the app name is long.
Additionally this fixes the coloring of the sender name.
Fixes: 150905003
Test: atest SystemUITests
Change-Id: Iae8026e7efdec8c207d1984dac4ee089abe116b9
* changes:
Indented the conversation action list
Fixed some issues where conversation badges would not be visible
Improved the animations of the conversation badges
Important conversations now also transform into the shelf
Adapted Shelf algorithm to also use conversation icons
* In IME side, wait for the input start before calling back to Autofill,
rather than returning inline unsupported immediately.
* Also adds an InlineSuggestionManager to simplify code in the
InputMethodService
Test: atest CtsAutoFillServiceTestCases
Test: atest CtsInputMethodTestCases
Bug: 151123764
Change-Id: I199925d77aa508f259e98a8929120aeb96015b57
Previously the actions weren't aligned with the conversation content
start.
Bug: 150905003
Test: add conversations, observe normal layout
Change-Id: I0d79642db736c66419ae3e4a6982ebd17abf09e2
This change corrects the VpnProfile's maxMtu defaults to match that of
the Ikev2VpnProfile. 1400 is too high as a default, and Settings will
run into an issue here quite often.
Bug: 152573931
Test: FrameworksNetTests passing
Change-Id: I97ba5903b3cc1ed6a21c706ed3d78bd8ecbeee0c
Merged-In: I97ba5903b3cc1ed6a21c706ed3d78bd8ecbeee0c
(cherry picked from commit d0a44f49df)
Previously the badges would just immediately disappear
without an animation. They are now animated when the
icon has finished animating.
Bug: 150905003
Test: add conversations, observe animations
Change-Id: I29e7389732bd5c22953dd7753d0feaae00297db0
Instead of always using the small icon, important conversations
now transform from the conversationIcon
Bug: 150905003
Test: add a few notification, observe nice transitions
Change-Id: Ia8c5121a6bd415ccca9d959d291665b8ac43b000
Previously the algorithm would only work with a header
and the icon wouldn't transform into the shelf.
This is now fixed.
Bug: 150905003
Test: add conversation notification, observe normal transition
Change-Id: I533b8f06bee29ee93888d748808b4313fef338e8
To improve the user experience, this CL changes the order
in which the empty state screens are shown:
1. (highest priority) cross-profile disabled by policy
2. no apps available
3. (least priority) work is off
The intention is to prevent the user from having to turn
the work profile on if there will not be any apps resolved
anyway.
Fixes: 150936283
Test: atest ResolverActivityTest
Test: atest ChooserActivityTest
Test: manually tested each possible combination of edge cases
(work profile off, no apps found, cross-profile intents disabled)
Change-Id: Ic86c90bdda93cf731df2133890081b5583ef35e1
This error showed because DecorContext uses application context
to get WindowManager. This CL changes to use context to do so.
Also rename fields in DecorContext because we actually can pass any
context in "activityContext."
Note that most cases of misuse WindowManager is covered by [1].
We can guarantee that WindowManager can be obtained by mContext.
[1]:I52aa0c4a02b7da018aa10f1473e1616564296e41
Bug: 150632074
Test: manual - enable strict mode and check the error log not shown.
Test: atest DecorContextTest
Change-Id: I558a2819e5928a802b897a130cfc3262115b9935
- Do not reset system bar visibility when changing control target
- Do not apply hide transaction when gaining control, because that
may result in a single-frame flicker because it will conflict with
the animation
- Check requestedVisible instead of InsetsState.isVisible in
DecorView to avoid drawing the bar backgrounds transiently
- Abort transient mode when focused win changes.
Bug: 150195782
Bug: 152014877
Change-Id: I8bc9cdc89ce7364984ade8146e12a706ad5e8edb
This change corrects the VpnProfile's maxMtu defaults to match that of
the Ikev2VpnProfile. 1400 is too high as a default, and Settings will
run into an issue here quite often.
Bug: 152573931
Test: FrameworksNetTests passing
Change-Id: I97ba5903b3cc1ed6a21c706ed3d78bd8ecbeee0c
This patch introduced setCaptionInsets, and set the Insets in
ViewRootImpl when dispatch the insets if there's a caption.
Modification is made in Window and DecorCaptionView to make caption
overlay with the app content, and pass the value to ViewRootImpl to
apply when dispatch. It is necessary to trigger a dispatch when caption
enabled status chanaged, otherwise sometimes it will not be updated.
Because caption is now updated locally on the client side.
Some old logic to deal with the overlay caption without insets are
removed, including the touch event dispatch override, the color
override.
Bug: 134531136
Test: go/wm-smoke
Test: Manually change the value in dispatchApplyInsets, can observe a
blank content area when there's a caption bar.
Test: atest InsetsStateTest
Test: atest InsetsControllerTest
Change-Id: I356344a13c8569512d8f51f7ea19a5603f778252
Root cause: After android R, will have new feature about AccessibilityShortcutInfo let developers to apply that in their service. But if the service have the both features that AccessibilityServiceInfo and AccessibilityShortcutInfo, the framework will make AccessibilityShortcutInfo priority higher than AccessibilityServiceInfo.
Goal: Filter tagert list in advance.
Bug: 152464317
Test: manual test
Change-Id: I93d2886ee686c939b8b6c4cf67b045392e9d9b51