Commit Graph

229 Commits

Author SHA1 Message Date
Hyunyoung Song
9d873ed912 Make StatsLog hidden method available to launcher
Bug: 113043444
Test: builds and verified that the jar exposes all the necessary
hidden API to Launcher

Change-Id: I71e245211ca2a2295c7d0b4b0c53c9fc8bcfebed
2018-10-31 15:37:18 -07:00
Winson Chung
6cdb69c04f Merge "Moving SysUI with legacy Recents to another build target" 2018-10-26 22:55:17 +00:00
Winson Chung
2dbcf0973b Moving SysUI with legacy Recents to another build target
- 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-26 10:15:50 -07:00
Lucas Dupin
559ec61bb1 Only show plugin toasts on eng builds
Test: adb shell am crash com.android.systemui # look at logs/toast
Change-Id: I9dc894fc91c0cf1c50661208594d98db4c6dfd58
Fixes: 117583358
2018-10-24 13:52:37 -07:00
John Reck
8884cfc13e Merge "Rename & package shuffle" 2018-10-23 20:02:00 +00:00
Winson Chung
4275303c1a Deprecating some old Recents logic
Bug: 117603579
Test: Everything still builds

Change-Id: I24cc5d77481ad9c76c2889b285b58aae3623ce9e
2018-10-23 11:28:50 -07:00
Yohei Yukawa
5281b6b4c0 Add Context.getDisplayId() to avoid possible IPC
ContextImpl has an internal rule that when ContextImpl#mDisplay is
null the Context is associated with the default display.  The problem
is that, as discussed in Bug 117709581, when ContextImpl#mDisplay is
null ContextImpl#getDisplay() tries to get some non-null Display
object by making an IPC to the system server, which is redundant when
the display ID is the only thing that the caller wants to know.

By having an @hide method Context.getDisplayId(), we can ensure that
display ID can be obtained without any IPC.  This enables us to
re-submit my CL [1] that aimed to instantiate InputMethodManager (IMM)
for each display but then got reverted due to a performance regression
(Bug 117434607).

There should be no developer-observable behavior change.

 [1]: I7242e765426353672823fcc8277f20ac361930d7
      c53d78e992

Fix: 117712745
Test: atest FrameworksCoreTests:android.content.ContextTest
Test: prebuilts/checkstyle/checkstyle.py -f \
      frameworks/base/core/tests/coretests/src/android/content/ContextTest.java
Change-Id: I2534530a5ce90e2620c5039d793a6454a0a1e154
2018-10-15 07:38:25 +08:00
Tony Wickham
0406f853ae Add callback to handle wtf logs
TerribleFailureHandler is hidden API, so we abstract it out so only
sysui uses it.

Test: compiles

Bug: 115877296
Change-Id: Iec9ca5c22beffcd9a86edde8eb5bdba06ae6aea5
2018-10-09 17:02:17 -07:00
Tony Wickham
b4593f977b Move code to plugin core lib
This contains the core interfaces for plugin support, e.g. Plugin.java
and the associated annotations. It is reused by the shared library and
plugin interfaces in both sysui and launcher are built off of it.

Test: atest com.android.systemui.shared.plugins
Test: cd $ANDROID_BUILD_TOP/frameworks/base/packages/SystemUI/plugin_core \
    && mma -j32 && cd -
out/target/product/$TARGET_PRODUCT/obj/JAVA_LIBRARIES/PluginCoreLib_intermediates/javalib.jar
contains the created jar and is useable in launcher

Bug: 115877296
Change-Id: I82ca7398e882d6432333238e2f77a12e776f1d76
2018-10-05 14:36:34 -07:00
Tony Wickham
32c554373d Refactor code to PluginEnabler
SystemUI uses PackageManager to enable/disable plugin components.
Launcher cannot do this, so we abstract this logic into an interface;
Launcher will have a different implementation.

Test: "atest com.android.systemui.shared.plugins"
  build succeeds and all tests pass

Bug: 115877296
Change-Id: Ie6f11572026dafa369c99722d63d4daa0ea44fb5
2018-10-05 14:32:04 -07:00
John Reck
32f140aa67 Rename & package shuffle
Rename DisplayListCanvas -> RecordingCanvas
Move RecordingCanvas to android.graphics
Move RenderNode to android.graphics

Bug: 112709971
Test: make & boot
Change-Id: Iddeb6a89f8923ea81a1f37bbee4e9b1db8ede238
2018-10-04 16:18:12 -07:00
Neil Fuller
2fe74e7f47 Merge "Merge "Remove unused / invalid import" am: 9073dc4839 am: a447164ae5" into pi-dev-plus-aosp
am: 01731e5eaa

Change-Id: Ib31823cf7a2c24a36f3da7d93fab127d89d3cdb8
2018-10-02 18:03:35 -07:00
Neil Fuller
a447164ae5 Merge "Remove unused / invalid import"
am: 9073dc4839

Change-Id: Icd39d49c9fae7c11837434fdcbe5603310034ad3
2018-10-02 15:28:39 -07:00
Tony Wickham
7362abd073 Merge "Move plugin support to shared lib" 2018-10-01 18:18:01 +00:00
Neil Fuller
4ff327141d Remove unused / invalid import
NavigationBarCompat imports sun.misc.Resource though
it doesn't need it.

Bug: 113148576
Test: build only
Change-Id: I26d6e0b3d9a8948333fdf9f3659b87b3b46a75d5
2018-10-01 11:32:36 +01:00
TreeHugger Robot
4a1b3e251e Merge "Only abort activity options when failing to bring a task to front" 2018-09-28 18:30:56 +00:00
Tony Wickham
023cb195be Move plugin support to shared lib
In addition to changing imports, this required some changes to use java
7, since that's what the shared lib needs to be for launcher.

See bug for more details on this project.

Test: "atest com.android.systemui.shared.plugins"
  build succeeds and all tests pass

Bug: 115877296
Change-Id: Ib79ede0a61664df0ba1a194632a345d2229777fc
2018-09-28 10:04:09 -07:00
Winson Chung
67f5c8b2d0 Removing dependencies on recents-specific code in SysUI
- 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-09-26 14:14:08 -07:00
Winson Chung
d024368b7e Only abort activity options when failing to bring a task to front
- If the activity options has a start callback, abort will prematurely
  call the callback prior to the app actually being good to go (and starting
  the app transition)
- Also exposing custom activity options call with callback to Launcher

Bug: 111896388
Test: Make change with launcher to defer hiding the task view until the
      transition-start callback, check that swiping down does not flicker

Change-Id: Ie19a38ed81b62057957b3ebfc119d5348468818b
2018-09-26 11:43:31 -07:00
John Reck
26caa0f509 Use public APIs instead of private ones
Test: builds
Change-Id: I4a8f289a1ac2ee6819bde5cd7c8edb98184c3c27
2018-09-24 15:45:10 -07:00
Charles Chen
3b37d4d803 Merge "Fix WM input limitations on secondary displays (3/4)" 2018-09-06 11:26:44 +00:00
Jason Monk
2c3a8045cd Convert sysui to bp
Test: tests gonna test, builds gonna build
Change-Id: I7f1ef2e82ce2c74253c57de8d73079dcfe2d2264
Merged-In: I7f1ef2e82ce2c74253c57de8d73079dcfe2d2264
(cherry picked from commit a2f2d82f26)
(cherry picked from commit 1a8ee9d2f9)
(cherry picked from commit 83ce30d807)
2018-09-05 13:57:10 -07:00
Jason Monk
83ce30d807 Convert sysui to bp
Test: tests gonna test, builds gonna build
Change-Id: I7f1ef2e82ce2c74253c57de8d73079dcfe2d2264
Merged-In: I7f1ef2e82ce2c74253c57de8d73079dcfe2d2264
(cherry picked from commit a2f2d82f26)
(cherry picked from commit 1a8ee9d2f9)
2018-09-05 12:50:09 -07:00
Hyunyoung Song
6d9db37d18 Remove unused SysUISharedLib
Test: it builds!
Bug: 113128349

For Launcher3 to build from the library directly, the build rule cannot
be an app. This is the very first CL out of 2~3 that will follow.

Change-Id: I7a1aa2d33e1ccf64d91a65db58e69446e77a4044
2018-08-31 13:48:25 -07:00
Arthur Hung
39134b21d8 Fix WM input limitations on secondary displays (3/4)
One DisplayContent contains one InputMonitor now.
- Change setInputWindow of InputManagerService updated by displayId,
  so Window Handles in InputDispather can be updated by each DisplayContent.
- Only exist one focus in current state, reset it if in removed DisplayContent,
  will be updated by default display or focused display.
- Add displayId parameter for createInputConsumer and destroyInputConsumer,
  so InputConsumer from PIP, RecentApp and Wallpaper can be supported in multi-display.

Bug: 111363643
Test: atest WindowManagerSmokeTest ActivityManagerMultiDisplayTests
Test: atest com.android.server.wm.DisplayContentTests
Test: atest libinput_tests inputflinger_tests
Change-Id: I999c355be1789af5759f00206475d004e10116e3
2018-08-30 09:59:09 +00:00
Vishnu Nair
aeab1b8251 SF: Remove setFinalCrop impl 1/2
setFinalCrop functionality is reimplemented by creating a new bounds layer
and applying a crop on this layer. see ag/4625718

Test: go/wm-smoke

Change-Id: I3ffb6dc2e2afd5170f6c6dee9e928ed0600656b1
2018-08-29 08:37:38 -07:00
Hyunyoung Song
c1647ead13 Swipe down on Pixel Launcher expands Notification Shade
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-27 12:49:01 -07:00
Sunny Goyal
056b80da9c Removing some unsed compat APIs
Test: manually tested on device
Change-Id: I7f8832850d5020517b2a4566d823f11ec1a4b436
2018-08-22 21:45:45 +00:00
Sunny Goyal
bba378e87c Restricting the shared lib to java 7
Bug: 112849320
Test: Verified launcher works fine with the new jar
Change-Id: Ibfbc4e53f879894ada134c227e212e3e23c49ea6
2018-08-22 13:03:57 -07:00
Jason Monk
a2f2d82f26 Convert sysui to bp
Test: tests gonna test, builds gonna build
Change-Id: I7f1ef2e82ce2c74253c57de8d73079dcfe2d2264
2018-08-16 19:40:39 -04:00
Winson Chung
6b0f1a3d77 Expose DockedStackListener for logging purposes in Launcher
Bug: 111077107
Test: Implement listener in Launcher and verify the callbacks are made

Change-Id: I4017c8e139242c2b0875f8222c99396d55b1be04
Signed-off-by: Winson Chung <winsonc@google.com>
2018-08-03 15:19:36 -07:00
Winson Chung
e4c7d37e03 Merge "Expose method to clear all visible recent tasks" 2018-08-02 21:08:56 +00:00
Winson Chung
e643910a33 Expose method to clear all visible recent tasks
- Atomically remove all the visible tasks so that SysUI doesn't need to
  remove each task individually.

Bug: 80471073
Test: atest FrameworksServicesTests:RecentTasksTest#testRemoveAllVisibleTasks
Change-Id: I23a6e152e94d5462948ab40adc9d7baf593847e1
2018-08-01 12:16:51 -07:00
Winson Chung
1728b6f92f Synchronize changes to the task key cache
- It's possible for a task key to be invalidated from a background loader
  thread while onTrimMemory is called from the UI thread

Bug: 111097496
Test: This is a race condition and hard to reproduce
Change-Id: I43333778487cd35166d4a22ed5cf27c641ec80c7
2018-07-25 12:16:26 -07:00
Matthew Ng
9f1fb05f89 Merge "Allow quickscrub after deadzone consumes touch" into pi-dev am: 95b7c25a58
am: 1622ea15fe

Change-Id: I509cc0c6079b146da78ac607d3edb437f4812dd1
2018-06-22 12:47:09 -07:00
Matthew Ng
472d3e4898 Allow quickscrub after deadzone consumes touch
Moved deadzone detection to QuickScrubController so that quick scrub can
still occur. If anything is consumed by deadzone, no other touches will
occur however quickscrub can be detected and function with launcher. No
other events except for touch down will be sent to launcher.

Test: scrub right above the home button
Change-Id: I4b4e7a8eacf8fe38d8644116a526c175adaba790
Fixes: 80536498
2018-06-21 15:09:21 -07:00
Wale Ogunwale
04d9cb5f40 Moved some activities implementation to ActivityTaskManagerService (2/n)
Second step in unifying the window hierarchy that is currently split
within AM and WM packages. We move some of the API implementation for
activities from ActivityManagerService.java to
ActivityTaskManagerService.java.

Test: Existing tests pass
Test: go/wm-smoke-auto
Bug: 80414790

Change-Id: I23dcd924493d8ad1e0b6e3a55386fd72b0146605
2018-06-12 13:38:39 -07:00
Wale Ogunwale
65ebd955e1 Split interfaces and service for activities from current AM interfaces (1/n)
First step in unifying the window hierarchy that is currently split
within AM and WM packages. We separate the interfaces and service dealing
with activities and their containers (tasks, stack, display) from the
rest of AM interfaces and services. This will allow us to move the new
interfaces and services to WM when the internal states are cleaned-up.

Test: Existing tests pass
Test: go/wm-smoke-auto
Bug: 80414790
Change-Id: Ide9b3f89123b768cdbd3e3878113c7a8021187f3
2018-06-06 18:26:21 -07:00
Winson Chung
4b250f34d9 Merge "Expose the source component which launched this task." into pi-dev am: b4e4fc3a1e
am: 2e6f1a0475

Change-Id: I6b73ad07fc6090788149031ccd33c7077845bbdf
2018-06-06 08:48:24 -07:00
Winson Chung
90ce3f4648 Expose the source component which launched this task.
Bug: 109698096
Test: Launch app in launcher, launch same task from overview, ensure we are
      logging the same component

Change-Id: I1c34267e7d4ac6ec467fab9467001b6301ee785c
2018-06-06 00:26:19 +00:00
Jorim Jaggi
2eb755d012 Merge "Merge "Updates to shared lib for Launcher" into pi-dev am: f4833c4fb2" into pi-dev-plus-aosp
am: 8ea57c6592

Change-Id: I603155988400aee7bef56131580a5529fee335d9
2018-05-31 12:40:03 -07:00
Jorim Jaggi
f4833c4fb2 Merge "Updates to shared lib for Launcher" into pi-dev 2018-05-31 15:50:31 +00:00
Jorim Jaggi
cd56073b09 Updates to shared lib for Launcher
Test: builds
Bug: 80292740
Change-Id: I7ce71c6271bd70d802c18001436b651bcc02c90c
2018-05-29 16:29:24 +02:00
Winson Chung
1e4cbeea07 Merge "Merge "Initial changes for full-width quickscrub." into pi-dev am: 004e01d388" into pi-dev-plus-aosp
am: ac4381d357

Change-Id: I613bac5e256a5d0cb7b51dedd2ca528dd3422e2f
2018-05-24 17:10:23 -07:00
Winson Chung
661d5f96a5 Initial changes for full-width quickscrub.
Bug: 79945202
Test: Swipe from anywhere in the nav bar

Change-Id: Ib0b07ceb64fb74c570c297acf865a37a1dc56fa8
2018-05-23 20:46:06 -07:00
Winson Chung
5a1408ce6b Merge "Fade back button in and out tied with the overview/shelf (1/2)" into pi-dev am: d51bbc5fe4
am: b43ab66d3c

Change-Id: I02a0ea7f444db8cfe15e731c2050c17b8bc59e3c
2018-05-18 21:58:29 -07:00
Winson Chung
d51bbc5fe4 Merge "Fade back button in and out tied with the overview/shelf (1/2)" into pi-dev 2018-05-19 04:36:16 +00:00
Jorim Jaggi
6b97c44515 Merge "Fixes for SyncRtSurfaceTransactionApplier" into pi-dev am: 1df0616e27
am: ec0b8cf316

Change-Id: Ie7d1348d14bc2def0b8c06a3856d6ac67cb71e29
2018-05-18 10:43:04 -07:00
Jorim Jaggi
42b0475097 Fixes for SyncRtSurfaceTransactionApplier
Such that launcher can use it.

Test: Open/close app
Bug: 78611607
Change-Id: I8e66b983035eb8da9dd8349e2a5b57d3631df74f
2018-05-18 18:23:45 +02:00
Jorim Jaggi
e4a8d4c7e9 Merge changes I608d4b61,Ia7900e75 into pi-dev
* changes:
  Follow up to Ia7900e753b29187a7a7b81f393666687e8b8e04b
  Apply surface parameters in sync with RenderThread
2018-05-18 11:49:56 +00:00