summaryrefslogtreecommitdiff
path: root/core/java/android/view/WindowCallbackWrapper.java
Commit message (Collapse)AuthorAgeFilesLines
* Introduce Window.DecorCallbackYohei Yukawa2022-01-311-5/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a follow up CL to my previous CL [1], which introduced a hidden callback method into Window.Callback. This CL does not change any observable behavior but consolidate that hidden callback into a newly introduced Window.DecorCallback interface. In this approach, we no longer need to worry about accidental method name collision in Window.Callback implementations classes. Here is the new callback chain. ViewRootImpl#performTraversals() -> DecorView#onSystemBarAppearanceChanged() -> Window.dispatchOnSystemBarAppearanceChanged() -> NavigationBarController.Impl#onSystemBarAppearanceChanged() [1]: I08566034bebfafff6777ce0152cd6ca1f66f6cad 678ddce11c131a8e6746fe386c40ddc8d99d01c3 Bug: 215549533 Test: Manually tested with ThemedNavBarKeyboard sample 1. Build aosp_coral-userdebug and flash it 2. adb root 3. adb shell setprop \ persist.sys.ime.can_render_gestural_nav_buttons true 4. adb reboot 5. make -j ThemedNavBarKeyboard 6. adb install -r \ $OUT/system/app/ThemedNavBarKeyboard/ThemedNavBarKeyboard.apk 7. adb shell ime enable \ com.example.android.themednavbarkeyboard/.ThemedNavBarKeyboard 8. adb shell ime set \ com.example.android.themednavbarkeyboard/.ThemedNavBarKeyboard 9. Open the Dialer app 10. Focus in the top edit field. 11. Tap "EXTENDED LIGHT NAVIGARION BAR" mode 12. Make sure that the navigation button color is optimized for light navigation bar. 13. Tap "STANDARD LIGHT NAVIGARION BAR" mode 14. Make sure that the navigation button color is optimized for light navigation bar. Change-Id: I5168f76dfc9526e925c565dbfa87597b5543fcdc
* Support light navigation barYohei Yukawa2022-01-271-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In order to propagate the information about whether the IME is using light navigation bar or not from android.view.ViewRootImpl to android.inputmethodservice.NavigationBarController within the same process, this CL adds a new @hide method to Window.Callback as follows. ViewRootImpl#performTraversals() -> DecorView#onSystemBarAppearanceChanged() -> Window.Callback#onSystemBarAppearanceChanged() -> SoftInputWindow#onSystemBarAppearanceChanged() -> NavigationBarController#onSystemBarAppearanceChanged() Button color transition will be implemented in a subsequent CL. Bug: 215549533 Test: Manually tested with ThemedNavBarKeyboard sample 1. Build aosp_coral-userdebug and flash it 2. adb root 3. adb shell setprop \ persist.sys.ime.can_render_gestural_nav_buttons true 4. adb reboot 5. make -j ThemedNavBarKeyboard 6. adb install -r \ $OUT/system/app/ThemedNavBarKeyboard/ThemedNavBarKeyboard.apk 7. adb shell ime enable \ com.example.android.themednavbarkeyboard/.ThemedNavBarKeyboard 8. adb shell ime set \ com.example.android.themednavbarkeyboard/.ThemedNavBarKeyboard 9. Open the Dialer app 10. Focus in the top edit field. 11. Tap "EXTENDED LIGHT NAVIGARION BAR" mode 12. Make sure that the navigation button color is optimized for light navigation bar. 13. Tap "STANDARD LIGHT NAVIGARION BAR" mode 14. Make sure that the navigation button color is optimized for light navigation bar. Change-Id: I08566034bebfafff6777ce0152cd6ca1f66f6cad
* No need to deal with windowTokensPhilip P. Moltmann2017-05-081-5/+0
| | | | | | | | | | | | | | | | | | | we have a link to the client which is enough to find the views. Also there was some cases where the windowToken was not updated properly. This is moot now. Also: Read a array of views from the client to speed up the client<->AutofillManager communication. Fixes: 38070352 Test: CtsAutoFillServiceTestCases 1 Started autofill, saw fill UI 2 Home button 3 Kill activity in background 4 Recents -> back to activity 5 Saw fill UI restored Change-Id: I7c2c9411204fa5d65867efae9b7296399121c3a2
* Restore session on new window after app killPhilip P. Moltmann2017-04-081-0/+5
| | | | | | | | | | | | | | | | | | Also: - Give the session an integer ID as the activityToken is not stable over restarts of the activity - Verify that session is only accessed by one UID - stabilize AccessibilityViewIds over activity lifecycle at least for the IDs we can do that. This required to split the ID namespace in "per-app" and "per-activity" views. Only the later ones can be restored. - Do not end session when app is killed (as it can be restarted) Bug: 35484143 Fixes: 36392498 Test: cts-tradefed run cts-dev -m CtsAutoFillServiceTestCases --test=android.autofillservice.cts.SessionLifecycleTest cts-tradefed run cts-dev -m CtsAutoFillServiceTestCases Change-Id: I229acc1b3ce35fb57262da7d7466b5d4328b49d4
* Implement pointer capture APIVladislav Kaznacheev2017-01-251-0/+5
| | | | | | | | | | | | | | | | | | When in pointer capture mode, mouse pointer disappears and further mouse events are dispatched to the focused view in the window which has requested capture. The captured events have the source SOURCE_MOUSE_RELATIVE belonging to SOURCE_CLASS_TRACKBALL. They are dispatched through dispatchCapturedPointerEvent / onCapturedPointerEvent. There is also a new listener. Pointer capture mode may only be granted to a currently focused window, and will be canceled upon a window focus change. Test: cts-tradefed ... --test android.view.cts.PointerCaptureTest Bug: 30897034 Change-Id: I6e5934aa415ac2b6dda1cee173d0f23e5021af84
* Keyboard Shortcuts: plumb deviceId throughClara Bayarri2016-03-241-2/+3
| | | | | Bug: 27673736 Change-Id: Ie72807aa8c2bfd142b081a6a915e101c16d31473
* Request Keyboard Shortcuts for SysUI Dialog via WindowClara Bayarri2016-01-131-0/+7
| | | | | | | | | Keyboard shortcuts are requested via WindowManager, and the request pipes through to the view root and the window callback. Bug: 22405482 Change-Id: Ic0071e91c7b554be3ac9df71e9539ee8a60e822e
* Save search context when dispatching onSearchRequested.Tim Kilbourn2015-04-131-0/+5
| | | | | | | | | The InputDevice used to trigger the search is saved in a SearchEvent so an application implementing onSearchRequested determine the device triggering the search. Bug: 15374820 Change-Id: If2cd14f77ce572a5ee131697cd63145fbea63f27
* Add a type parameter to startActionMode() calls.Clara Bayarri2015-03-131-0/+5
| | | | | | | | | | This requires adding a new method to View and Window.Callback to pass down the type as a parameter. For compatibility purposes, the new method implementations keep the type and call the old method, in case clients have subclassed it. Change-Id: If5d857f131e33be8cc6a8814f2e9c4e85ad2da25
* Fix a bug propagating navigation button events from ToolbarActionBarAdam Powell2014-08-181-0/+144
Add a simple internal wrapper for dealing with window callback events. This should also make working with things like action modes from ToolbarActionBar significantly easier in later changes. Bug 16980711 Change-Id: I2c3d7525489a21847f4af9b80f6ebf9b34b4dd58