summaryrefslogtreecommitdiff
path: root/packages/SystemUI/src/com/android/systemui/OverviewProxyService.java
AgeCommit message (Collapse)Author
2018-10-26Moving SysUI with legacy Recents to another build targetWinson Chung
- Move all legacy recents code out of the core sysui code - Add separate target for products which still depend on it - Move overview proxy implementation into another implementation of the recents interface Test: atest SystemUITests Test: Push SystemUiWithLegacyRecents to the system image adb shell pm disable com.google.android.apps.nexuslauncher/com.android.quickstep.TouchInteractionService and ensure that the old recents implementation still works (and split screen) Change-Id: Iad67218ec37c13c79b6393d87f6bdc4f3996e2c6 Signed-off-by: Winson Chung <winsonc@google.com>
2018-10-15Fixes ignoring interaction flags from launcher from raceMatthew Ng
Systemui binds to launcher, launcher then binds back and immediately sends the interaction flags. The bounded user id would be set after this operation but there was a race after onbind and applying the interaction flags. If the interaction flags runs first before setting new user id, then it uses the old id to check if the operation is valid thereby ignoring this call making the interaction flags incorrect. Solve this race by setting the new user id immediately after system ui binds to launcher. Change-Id: I830c003d8189edf31c71ee764edf88927b6ec708 Fixes: 116230457 Test: manual
2018-10-04Fix Panel View not being able to handle touch when NexusLauncher diesHyunyoung Song
Bug: 116744159 Test: builds Also verified by executing following while touching on the device $ adb shell am force-stop com.google.android.apps.nexuslauncher Change-Id: I075dc05fbda2cc99573a78fcc239355a59e3a8ac
2018-09-26Removing dependencies on recents-specific code in SysUIWinson Chung
- Removing references to SystemServicesProxy (to be removed) for AM/WMWrapper - Removing unused code for old nav bar swiping logic, and also unused and quickstep-incompatible code for dragging in recents - Removing all event bus logic from outside recents subpackage - Exposing PipUI component for bridge caller Bug: 114137554 Test: Can still swipe up Change-Id: Ibcfbe06acae06ea5950615cabd52243279fee16d
2018-08-27Swipe down on Pixel Launcher expands Notification ShadeHyunyoung Song
Bug: 111839343 Test: make -j31 && vendor/google/tools/flashall -Tested for single touch swipe -Tested with heads up noti -Tested for single touch T1, second touch T2 T1 DOWN, T2 DOWN, T2 UP, T1 UP T1 DOWN, T2 DOWN, T1 UP, T2 UP Change-Id: I4b392ced07f6a9bece4bfc0a8be46de9b5088f82
2018-08-23Merge "Added experiment for back gesture dragging home button"TreeHugger Robot
2018-08-22Added experiment for back gesture dragging home buttonMatthew Ng
Dragging the opposite direction of quickscrub will execute the back functionality as if you pressed the button. If you hold the home button while in gesture, every second it will execute back command. Both adb commands below are default to false so they must be enabled first. Enable the setprop value for enabling this functionality. adb shell setprop persist.quickstepcontroller.homegoesback true Fully remove the back (and ime up) arrow button. Dependent of above. adb shell setprop persist.quickstepcontroller.hideback true Then go home or start the ime/keyboard to see changes. Test: manual Bug: 112934365 Change-Id: I68b7f0415107fc134d51fafbd55bc641d4312815
2018-08-22Removing some unsed compat APIsSunny Goyal
Test: manually tested on device Change-Id: I7f8832850d5020517b2a4566d823f11ec1a4b436
2018-08-21Back off connect when launcher binder connects but service does notMatthew Ng
Also added a max back off duration of 5 minutes. Test: manual - force crash launcher on onCreate(), view logs Change-Id: Icaaaab8cbf73e30339a215310a9d31f874f34eab Fixes: 112849413
2018-08-09Set the default interaction flags to reflect if swipe is enabledMatthew Ng
On boot or device reset, the interaction flags before connecting to launcher will choose the default interaction flags do display the correct navigation UI by detecting device default settings. Test: factory reset device, finish setup wizard, view nav bar Fixes: 112052065 Change-Id: I7857c3ac4cced50fdcae5090f3d99664cedddcdb
2018-07-30Don't keep launcher service continously bound in the foregroundWinson Chung
Bug: 110362634 Test: Ensure swipe up still works Change-Id: Id59d0f89032eb9c3e9c26333e11bc5702ac3d7ce
2018-07-18Merge "Validate that the system ui proxy calls are from current user"TreeHugger Robot
2018-07-18Validate that the system ui proxy calls are from current userMatthew Ng
Skips running and sends a warning to logcat if there is a call from a different user. Change-Id: I1e38d99b33611965bab571a1816336b4ab98150c Fixes: 80156915 Test: change users and do things
2018-07-09Dump swipe up setting with OverviewProxyServiceWinson Chung
- Rename some vars slightly to make it easer to understand when reading the dump Bug: 111272828 Test: adb shell dumpsys activity service com.android.systemui Change-Id: I3a913478abebb62058a978b52f50a1a03e587994
2018-06-29Allow share/edit screenshot actions from lockscreenWinson Chung
- Dismiss keyguard when routing the actions through the proxy receiver - Fix issue with edit activity also disallowing auto-enter PiP - Minor cleanup of some unused/shared code Bug: 72459081 Test: Launch share/edit screenshot from lockscreen (and normally) Test: Launch screenshot share action with auto-enter PiP activity and ensure it does not trigger PiP Change-Id: Ibae2de51bc3fe10f439d7506ab7d0d9243142c94
2018-06-27Reduce overview proxy connection backoff time to hide back fasterMatthew Ng
Switching to guest user would show a dialog to continue or start the guest profile again and this would show the back button. At the same time the connection is being established with the launcher again. First time would sometimes fail causing a timeout of 5 secs before trying to reconnect again. During the 5 sec timeout the back button would continue to be visible until it reconnects and hides it. If this is reduced to 1 sec then reconnection would occur quicker and as a result hide the back button. Fixes: 109662462 Test: switch to guest user, immediately press continue and wait for back button disappear Change-Id: Id81b7f175834fb1eae8a0787674bbc130c91a5a2
2018-05-30Show back button when launcher is disconnected from proxy serviceMatthew Ng
Whenever service is disconnected, the back button will be shown. Once the service is connected, launcher will decide whether or not to hide the back button. Test: adb shell am force-stop com.google.android.apps.nexuslauncher Change-Id: Ic947e51c00abd9591c800aa1023b8d9684dc5d93 Fixes: 80098608
2018-05-17Fade back button in and out tied with the overview/shelf (1/2)Matthew Ng
Back button changes opacity when moving the shelf during swipe up between home screen and overview. The alpha changes depending on the progress of the swipe up animation. When going from app to home and vice versa, the fade animation does not tie with the swipe up progress. The fade animation also masks the back button drawable when ime visibility changes. Change-Id: Idaf219923af58732715d0f0b59386dea7ab0d0ad Fixes: 74581837 Fixes: 76900236 Test: swipe up from home screen to overview
2018-05-03Added more logging around failures in overview connecting to launcherMatthew Ng
Added onBindingDied, onNullBinding and logging if the user has not been setup or if launcher component is disabled. Also added a defered callback to reconnect after a couple of seconds even if binder says its bound but has the possiblity of the service not connected. Change-Id: I59919a66dea3bc61c014759ba03f1949abc055bd Fixes: 78681054 Test: manual
2018-04-20Add a function to get the secondary split screen boundsMatthew Ng
Access through the overview proxy to get the bounds of the secondary split screen app when split screen is enabled. Test: manual Fixes: 77678123 Change-Id: Iabbcf30dc7194ac6fff9b4d7cad8a9fe5ee48a2b
2018-04-18Implement swipe up and quick scrub onboardingTracy Zhou
Bug: 70180942 Test: manual test Change-Id: I5c487d1e4ab800450c6b5a8f7ad1bf7434e45904
2018-04-12Move QuickStep onboarding strings from Launcher to SysUITracy Zhou
Test: N/A Bug: 70180942 Change-Id: Ic3bd63899017f23c011a41a7a5a9e73a87b9eec1
2018-04-04Allow resolving the quickstep service when the user is unlockedWinson Chung
- When the user is locked, resolving components through package manager will default to match only the components aware of the current lock state. To ensure that we resolve to the quickstep service we need to match against all components including those that are direct boot unaware. Bug: 77566214 Test: Restart the phone Change-Id: Iab225473795b0051df304166816c4c5c9b00c1de
2018-04-04Revert "Revert "Nav icons and quick step states are determined by service ↵Winson Chung
enabled"" This reverts commit 317ee507c2ea69044dc91f7c6d019deeab1ebeae. Reason for revert: Have fix for b/77566214 Test: manual Bug: 77566214 Change-Id: Ie827e3651f70dfde5f02a5099fd81a5eb4e4cd5e
2018-04-04Revert "Nav icons and quick step states are determined by service enabled"Winson Chung
This reverts commit 8a7c97a16d7cfa7bcc602dfa969370bce9dfb686. Reason for revert: b/77566214 Bug: 77566214 Change-Id: Iba3ef20a304e3a47f1affe0b38598c7d7f0daef7
2018-04-02Nav icons and quick step states are determined by service enabledMatthew Ng
When the device quickly changes states (such as language or font size), it would disconnect and then reconnect the service and as a result a flash of the nav buttons will occur. Since the nav bar is connected to launcher service unless 3rd party launchers are used, that should determine if the icons should change or quick step should be enabled/disabled instead of if there is a connection. Also hold the last interaction flags and apply on startup until service is disabled (using 3rd party launcher). Test: go to settings and change the font size under display Change-Id: Ibebc8c3f8493574dd21774bd292c2096cfdad469 Fixes: 74199057 Fixes: 73483047 Fixes: 72225004
2018-03-29Merge "Fixes OpaLayoutTest to pass by adding SysuiTestCase (1/2)" into pi-devTreeHugger Robot
2018-03-28Fixes OpaLayoutTest to pass by adding SysuiTestCase (1/2)Matthew Ng
Copied SysuiTestCase to systemui Google to be able to inflate KeyButtonView that is dependent on StatusBar. Also fixed the connection failure catch exception when proxy cannot connect to service in tests. Test: atest com.google.android.systemui.OpaLayoutTest Change-Id: Ica2a894ce92e06af30c208afcc6a22adeac3a843 Fixes: 76416916
2018-03-28Opalayout can check quickstep icons without needing navbarview (1/2)Matthew Ng
Opalayout should not need NavigationBarView to determine if the icon should be for quickstep icons. It does not need to know if recents is disabled because of lock tasks and so the check is now in OverviewProxyService. Then when Opalayout needs to layout the home button it should be able to get the information regardless if NavigationBarView is available or not. Bug: 76210393 Fixes: 76434966 Fixes: 74071465 Test: change language in settings Change-Id: I246175c3e2d5c990da6823df4108d48522b258bd
2018-03-27Using an intent-action instead of a fixed compoenent for quick-step serviceSunny Goyal
Bug: 76856007 Test: Verified everything builds and works Change-Id: Ia8258356f84edc9fddc9ac1d2787ffde25c2ecf0
2018-03-14Revert "Revert "Centralized quick step/scrub/switch logic (1/2)""Matthew Ng
This reverts commit 0e490d9208de480ed38fe31a12029fc59b0955e9. Reason for revert: Will be merged with fix Bug: 74726495 Test: manual Change-Id: I36ea9c2702107b23eff4adb1f3ba9fdc1be12999
2018-03-14Revert "Centralized quick step/scrub/switch logic (1/2)"Winson Chung
This reverts commit b06ae3bf131b0bd0ded398d3a06974a6a9d78a50. Reason for revert: b/74726495 Bug: 74726495 Change-Id: I4bce8df13f9fa9e1b420382f7a96f9855510196f
2018-03-13Centralized quick step/scrub/switch logic (1/2)Matthew Ng
Moved all the logic for quick step/scrub/switch to QuickStepController so touch events can be used for deciding which gesture is used. Once a gesture is decided, the rest will not handle the other gestures. Quickstep will trigger when passing a touch slop on navigation bar. The event onQuickStep (with a motion event) will be sent to launcher when this occurs telling it that systemui is not handling anymore motion events. During quickstep motion events will still be proxied. Used raw X and Y motion events for Opalayout and KeyButtonView so that the moving over the touch slop can be detected to ignore button (long) press state. Fixes: 73971902 Fixes: 74456391 Test: swipe up Change-Id: I40b931aa0a9f123b810ff9206c9b1ce040a68a56
2018-03-02Creating new user correctly connects to the system OverviewProxyMatthew Ng
When creating a new user, it creates a new OverviewServiceProxy which connects to launcher instead of the system user version. Since the new proxy does not have any callbacks connected to it, launcher cannot send any data to change systemui. Preventing the new proxy from connecting allows the original to connect. Test: manual, create new user, wait for connection, play with quick step Change-Id: I0838fe8294c7a3ee89062c0c9855caf5ab52482b Fixes: 74001992
2018-02-271/ Fixing docked task animation when entering split screen from homeWinson Chung
- Update the minimized state when docking an app from home to ensure that the animation of the docked task goes to the right bounds - Temporarily block the invocation of the old recents activity when showing recents as a part of setting the windowing mode of another task (this is fine right now because quickstep only allows docking via the UI and not from the nav bar while another task is open). - Add proto field so we can determine whether to check the recents activity from the split screen CTS tests - Also fix issue with invisible docked task due to wrong bounds calculated due to launcher not notifying the divider of the first docked frame Bug: 73118672 Test: go/wm-smoke Test: atest CtsActivityManagerDeviceTestCases:ActivityManagerSplitScreenTests Test: atest CtsActivityManagerDeviceTestCases:ActivityManagerTransitionSelectionTests Change-Id: Ib1208501c311de009a9e706103134865c521cb63
2018-02-14Add more controls for launcher to control sysuiMatthew Ng
Added a 4 flags to control the state of system ui: 1. Disable swipe up navigation (prevents motion events going through) 2. Disable quick scrub (& step) 3. Show overview button (hidden by default) 4. Hide back button (shown by default) Test: manual Bug: 67957962 Bug: 70180755 Change-Id: Ibc44af9bbdfa9611688fe12285a999d81b8287e9
2018-02-09Fix issue with quick switch animation not running.Winson Chung
- We were intercepting touch before the quickscrub controller had a chance to handle the touch, which meant that we canceled the recents animation before passing the quick switch event to launcher. Instead, just move the cancel recents animation logic to the key button view (before handling up) and ensure that we intercept from the button only in the cases we desire (a quick switch/scrub, recents animation start, or if it's a dock drag (not currently enabled). Test: Fling on the nav button to quickswitch, ensure recents animation runs Change-Id: Id89fda56f2996a38a9aea99179b5e2870b531003
2018-02-06Get swipe up onboarding text from launcherTony Wickham
Launcher sends the text when binding to the overview service, which stores the text for when it needs to be shown. Also renamed some files and strings to be more generic Test: install launcher with updated text and ensure it is shown Bug: 72999860 Change-Id: I5998ab8867754d877f954673e03e5faf44b606ed
2018-02-01Fixes overview connecting to correct launcher when changing usersMatthew Ng
When switching users, it would always connect to the system user's launcher because the user was gained incorrectly so the new user would lose its recents button and other issues may occur. Getting the actual user fixes it to connect to the current user's launcher. Bug: 67957962 Test: change users Change-Id: If49b9bea3920242c2653913b127ac65a16c13b92
2018-01-26Expose call to start screen pinning on a task.Winson Chung
Bug: 70294936 Test: Manual Change-Id: I7b8a079b928a9a8bf887aab7ae0bd6f93ac9d7e4
2018-01-25Revert "Revert "4/ Update SysUI shared lib for Recents transition""Winson Chung
This reverts commit f6401c0284e6a8491b6bc39c36de8d5568feb880. Reason for revert: Testing relanding changes with ag/3515280 Change-Id: Ibb8d4868fe2cc1053b528ed757bd3ec1f9c10355
2018-01-25Revert "4/ Update SysUI shared lib for Recents transition"Jorim Jaggi
This reverts commit 9f6ba8df3b4c7706a054d3375469e913dbd499eb. Breaks presubmits
2018-01-244/ Update SysUI shared lib for Recents transitionWinson Chung
- Ensures that we cancel the recents animation when handling touch - Moving InputConsumerController to shared lib - Add compat classes for recents controller/listener Bug: 70180552 Test: Manual, swipe up with suitable launcher build Change-Id: Ib57ea73ff75545b91922df188ffb7152e9d4cebd
2018-01-23Add swipe up onboarding from appsTony Wickham
After launching 3 apps, we create a window at the bottom attached to the nav bar to teach users to swipe for recents. There is an X on this window to dismiss it, but we will keep showing the onboarding every time they open apps until they perform the swipe up action. Test: manual Bug: 70180942 Change-Id: I4b15fac918b7b1633a3c09ab0819f2acb1dce697
2018-01-17Added logging for OverviewProxyServiceMatthew Ng
Added debug logs for OverviewProxyService. Use "OverviewProxyService" as the tag to get logs. The logs cover all of the binder calls from IOverviewProxy.adl. Test: manual Bug: 67957962 Change-Id: Ia46848e54683fc1aacdb633644b5161c1ac58b16
2018-01-08Reconnect overview service to launcher when its package name changesMatthew Ng
Listen for broadcast intent filter ACTION_PACKAGE_ADDED to reconnect the connection from overview to launcher. Test: manual - enable/disable feature from launcher settings Bug: 67957962 Change-Id: Ic069498ec2036bcb6ab6d95002d5c34027395360
2017-11-16Minor optimizations to task loading/screenshotWinson Chung
- Pass graphic buffer instead of bitmap for current screenshot - Add option to skip preloading titles - Adding some more compat classes Bug: 67510855 Test: Build quickstep Change-Id: Idf4642683d3121e69f0854ac909a8c22c7238b9a
2017-11-15Merge "Dump the overview proxy service information"TreeHugger Robot
2017-11-14Dump the overview proxy service informationMatthew Ng
Dumps into the dependency chain of its number of connection attempts, if user has completed setup and if the connection is currently established. Test: adb shell dumpsys activity service com.android.systemui Bug: 67957962 Change-Id: I1d5ffc51f99f08c21495d51a32a103ab8fed757c
2017-11-10Listen for launcher package added to connect to it fasterMatthew Ng
When launcher is reinstalled, it may take time for it to get ready and to reconnect to. If not available immediately it would try to connect it later after a timeout. Instead of waiting, receive a broadcast when it gets installed to connect immediately. Test: manual - reinstall launcher Bug: 67957962 Change-Id: I1e531db9646d11a1eae99abe46d5e6f852c5eeda