- Currently, the collection of binders to send to Launcher is inverted
and managed by OverviewProxyService which has to know about each
component directly (and a SysUI interface has to be created to support
this even if there are no other calls in SysUI to that component).
Instead, we should have each component register itself with the
ShellController for controllers which can be exposed to an external
process, and each product can customize which set of controllers it
needs to support.
- Add missing dump registration for ShellController
- Updating docs for creating remote callable controllers
Bug: 238217847
Test: atest WMShellUnitTests
Change-Id: Icd0ed33bdbd68b1dd9d782b9ba1f5b4a604479ba
Merged-In: Icd0ed33bdbd68b1dd9d782b9ba1f5b4a604479ba
In this changeset topic
- Build WMShell with protolog viewer config
- it's built with SystemUI{,Google} packages and installed as
/system_ext/etc/wmshell.protolog.json.gz
- Deprecated the viewer configuration as a bundled resource
- The `required` keyword in Android.bp does not propagate, need to add
it in individual Android.bp file such as SystemUIGoogle/Android.bp
- Push the generated viewer config file onto device in makepush script
(in a separate CL)
Bug: 244642224
Test: mp sysuig
Change-Id: Ib7f37ec55d12493d6beec3aba66883415966b521
Soong normally adds kotlin-annotations as a dependency to any module
that uses kotlin sources, but it can't find the kotlin sources in
WindowManager-Shell because they are all in a filegroup. Add it
manually as a workaround.
Bug: 225013372
Test: m checkbuild
Change-Id: I3b61702b13ae72d4cb20620dfbf9707f4b8aaaaa
App icon badge size is based on the view size, as a ratio.
Use ConstraintLayout to define the app icon size based on constraints.
This way we do not have to recalculate the app icon size manually.
If the BadgedImageView size changes, app icon will be resized automatically.
App icon badge position is fixed to the right. If it needs to be shown
on the left, due to bubble position, we update the location using
translationX.
Bug: 162857077
Test: verified visually that bubble with app icon looks the same
Test: verified visually that when display size changes, app icon changes
together with bubble size
Test: ran WMShellUnitTests unit tests
Change-Id: I63a6cadfc7847dd0c0d9dca6bb6efd11f5b9958e
- Added SplitScreenConstants class and added this class to the exported files to allow exporting window manager constants and methods to the launcher.
Bug: 198438631
Test: manual
Change-Id: I7c5649449389413d1435798c3e757103c4ced038
Merged-In: I7c5649449389413d1435798c3e757103c4ced038
(cherry picked from commit a191eb7e3c)
- Added SplitScreenConstants class and added this class to the exported files to allow exporting window manager constants and methods to the launcher.
Bug: 198438631
Test: manual
Change-Id: I7c5649449389413d1435798c3e757103c4ced038
- Certain system ui implementations which use the shell don't depend on
SystemUI-core, which means that the dagger modules for providing the
core Shell components need to be copied (which makes it more cumbersome
to make changes). Instead, move these modules back into the shell lib
for any SysUI app to reference.
Bug: 205019015
Test: make SystemUIGoogle
Test: make CarSystemUI
Test: make ArcSystemUI
Change-Id: I8dc938a7695972f9d7b3d7ea8e3ce65a7b454b13
- Add a shell component and interface for Launcher to use to get recent
tasks including paired splits (pending integration w/ split controller)
Bug: 202740477
Test: atest WMShellUnitTests:com.android.wm.shell.recents.RecentTasksControllerTest
Signed-off-by: Winson Chung <winsonc@google.com>
Change-Id: I34d834061ed2391d89cf56d6a2fd262868707674
Merged-In: I34d834061ed2391d89cf56d6a2fd262868707674
When going from a non-launcher task to another non-launcher task
that is in a different orientation, we just animate the new task
opening in the new orientation (no screen rotation animation). To
make this work, though, we need to unrotate all the going-away
windows because they are in the old orientation.
Added CounterRotator to a utility area in shell so it can be
shared with other components (like Sysui shared lib).
Bug: 183993924
Test: atest OpenAppColdTest
Change-Id: I0263dfb8d529b6fc3dfbe3775e3e6e0b77f6ca8a
Removing min_sdk_version for WmShell since it's not meant to be backward
compatible.
Removing lint-baseline.xml which only contains "NewApi" errors, that
won't be generated now, since min_sdk_version has been removed.
Bug: 182759603
Test: make WmShell
Change-Id: I38e4814581d6c6a8aeb8d66b1b554a5bac331f68
Revert "Update GoogleWifiTrackerLib min_sdk_version to match Wif..."
Revert "[WifiTrackerLib] Put @hide methods in separate wrapper p..."
Revert "Update TwoPanelSettingsLib min_sdk_version to match Sett..."
Revert "Update BluetoothServices min_sdk_version to match Settin..."
Revert "Update DroidTwoPanelSettingsLib min_sdk_version to match..."
Revert submission 13842044-wifitrackerlib-hideapi
Reason for revert: build breakage
Reverted Changes:
I85b8ed34a:[WifiTrackerLib] Put @hide methods in separate wra...
I891f51aab:Update DroidTwoPanelSettingsLib min_sdk_version to...
If8e82e047:Update GoogleWifiTrackerLib min_sdk_version to mat...
I4529627fb:Update BluetoothServices min_sdk_version to match ...
I87b46a09b:Update TwoPanelSettingsLib min_sdk_version to matc...
I65a3246b4:Update min_sdk_versions to match WifiTrackerLib
Change-Id: I083b764b42e5cf5476b1ec9ed3a9b2d5ed12afc9
- Also split impl and controller for ShellInit/ShellCommandHandler
(as with ag/13502602)
- Example implementation of exposing a subset of the Pip interface to
Launcher directly. This has the benefit of reducing unnecessary code
in SysUI just to pipe calls to the Shell.
The controller implements the binder interface which is collected
and exposed to Launcher when it binds to the overview service
and Launcher can call through the binders directly.
Note: this requires the shared lib to also build with the Shell
interfaces so changes to the Shell aidls will still require updating
the shared lib (until the shared lib prebuilt can removed).
Bug: 180074017
Test: atest WMShellUnitTests
Test: Verify Pip calls from Launcher work
Change-Id: Id74114da6a6a73d32c957f84fce5bbe23e87ba01
- Also split impl and controller for ShellInit/ShellCommandHandler
(as with ag/13502602)
- Example implementation of exposing a subset of the Pip interface to
Launcher directly. This has the benefit of reducing unnecessary code
in SysUI just to pipe calls to the Shell.
The controller implements the binder interface which is collected
and exposed to Launcher when it binds to the overview service
and Launcher can call through the binders directly.
Note: this requires the shared lib to also build with the Shell
interfaces so changes to the Shell aidls will still require updating
the shared lib (until the shared lib prebuilt can removed).
Bug: 180074017
Test: atest WMShellUnitTests
Test: Verify Pip calls from Launcher work
Change-Id: If048d2cd9a6b8e5014ba30c0deaed7a3e177605d
Signed-off-by: Winson Chung <winsonc@google.com>
SettingsLib min_sdk_version (and modules dependent on it) should
match the updated min_sdk_version of WifiTrackerlib (30)
Test: build
Bug: 162368129
Change-Id: I65a3246b40fc724b157756daec635392e99141e1
- No longer need the checked in version, this just adds the generated
viewer config as a java resource
- Disabling logs by default
Bug: 168497382
Test: adb shell wm logging enable-text WM_SHELL_TASK_ORG
Change-Id: Idc5f423dfc24b455de833e7f3f76e9e6db9ceb47
- Add @BinderThread/@ShellMainThread/@SysUIMainThread annotations
for some common shell classes and callbacks
- Add mechanism to inject shell-anim/shell-main/sysui-main/etc
executors (removed AnimationThread static instance)
(Note: The shell main thread will still be the sysui main thread)
Bug: 161979899
Test: atest WMShellUnitTests
Change-Id: I4adfeaebe5b79fab7c9451eef7b54fcdf4d8d40a
Mark it as directly injectable.
Use a Provider<> of the Builder so that, if DisplayMetrics changes,
the changes get picked up.
Fixes: 174653877
Test: manual
Change-Id: If8b404cbb7f5111144c21ce4810323d95f962359
Move bubbles package and related resources to shell package,
also copied some used codes and resources.
Bug: 161980186
Test: atest SystemUITests
Test: atest WMShellUnitTests
Change-Id: Ia108bd4149b3c3bf86631ba1a7a6bce0e76af78f
Move OneHanded related codes, res and tests to WM shell.
Some tests add ignored currently due to permission issue.
Add another bug to trace it.
Also fix animation issue caused by wrong logic.
Bug: 161980408
Fix: 168074363
Test: manual check one handed function
Test: atest WMShellUnitTests
Test: atest SystemUITests
Test: make ArcSystemUI; make ArcSystemUITests
Test: make CarSystemUI; make CarSystemUITests
Change-Id: Ib25661d010278202ffe15fd9c4962e76e6698c21
- Refactor out base protolog impl so that shell can have it's own
implementation which takes a different viewer config (from the resources
directly instead of a separate file in /system/etc)
- Setup the protolog transform for shell classes
- Add some basic protologs for displayarea/task organizer controller
& shell task org (for now only text logging)
Bug: 161980327
Test: adb shell wm logging enable-text WM_DEBUG_WINDOW_ORGANIZER
Test: adb shell dumpsys activity service SystemUIService WMShell enable-text-logging WM_SHELL_TASK_ORG
Test: atest ProtoLogImplTest \
ProtoLogViewerConfigReaderTest \
WmTests:ProtoLogIntegrationTest \
LogDataTypeTest \
protologtool-tests
Change-Id: I4c3fd6aaea04987c26ac56e9baf9fc8ab75a3f34
Signed-off-by: Winson Chung <winsonc@google.com>
WM Shell should be compiled against the platform APIs and thus should
leave sdk version empty. The value of platform_apis will be ignored when
module's type isn't android_app, remove it as well.
Bug: 161116823
Test: manual verified it could access to @hide APIs
Test: make WindowManager-Shell
Test: atest WindowManagerShellTest
Change-Id: I145b0d6352a6e10a2f4051a561e65c282374fa7c