| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
| |
Introduce RefreshCallbackItem that allows to "refresh" activity by going through "stopped -> resumed" or "paused -> resumed" cycle. This allows to clear cached values in apps (e.g. display or camera rotation) that influence camera preview and can lead to sideways or stretching issues persisting even after force rotation in DisplayRotationCompatPolicy.
Using "stop -> resumed" cycle by default due to higher success rate confirmed with app compatibility testing. But introduce ADB commands that allow trying both.
Bug: 218352945
Test: atest WmTests:DisplayRotationCompatPolicyTests
Change-Id: Iaca54b197937147f93d52297543b106fd5b97322
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
After the horizontal layout feature, the split layout is not just
determined by task bounds, but the whole task Configuration should
be take account.
This CL removes the mTaskBounds logic and consolidate to use
TaskContainer#mConfiguration instead. This CL also introduces
ActivityClient#getTaskConfiguration to obtain task config at
TaskContainer initialization.
Bug: 240219484
Test: atest WMJetpackUnitTests
Change-Id: I5725ac92d841c53675c78b9e50e0d3fee3973f37
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
... of the secondary (or the primary) container.
The primary container was removed along with the secondary container
while the last Activity in the secondary container was finished by
back event. Therefore, starting window will be shown if starting the
app again from Launcher.
However, the last Activity in the secondary container should be
considered as a relative task root if the Activity is displayed
adjacently or being a companion with the task root activity.
The task should be moved to back vs. finishes the Activities to
speed up the launch next time, like commit 2dec42fa does.
Bug: 240669850
Test: launch Settings
Test: atest WindowOrganizerTests
Change-Id: I13b33afb8602f63062f6b33742453c3e93fdfc20
|
| |
|
|
|
|
|
|
|
|
|
|
| |
During navigateUpTo, it will first resolve the activity before creating
the ActivityStarter. This bypasses the explicit intent filter
enforcement introduced in T, exposing a security flaw that allows
non-matching intents to be delivered to components.
Bug: 238602879
Test: atest CtsWindowManagerDeviceTestCases
Change-Id: I9aa3e27f753f2f809e74a8f421f8b68e4d610702
Merged-In: I9aa3e27f753f2f809e74a8f421f8b68e4d610702
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Trying to get a task information via ActivityManager#getAppTasks()
will not report tasks that aren't associated with calling package
by the root activity package name. For activities that are from
a different package the task wasn't found, so the windowing mode
couldn't be checked and WM Extensions didn't report any display
features.
This CL adds a dedicated method to check the task windowing mode
for a given activity token.
Bug: 236295340
Test: ActivityEmbeddingIntegrationTests#testDisplayFeaturesWithEmbedding_differentPackage
Change-Id: If2dbc337c4b8cb909914cc28ae4db28a82ff9de3
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Hidden Activity API allows a component holding permission
MANAGE_MEDIA_PROJECTION to declare that the result of setting up the
MediaProjection session should be returned immediately to the host VC app.
The host VC app will cycle through the resumed state when the activity
result is delivered to it, and return to its original state.
Manually tested with test MediaProjection app.
Test: atest WmTests:ActivityRecordTests
Bug: 230607871
Change-Id: Ic85fe8657b9e7f526bbc37a52011d16afa8aef2c
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
By sending the local relaunch event to server side, WMCore can keep
the starting window when client remove the original window, and because
client won't preserve the original window, the result of redrawed view
will match the new configuration.
Bug: 230998394
Test: launch chrome => swipe to go home => change toggle to either light
or dark theme => launch chrome again. Verify the app won't become transparent and the starting window remains on screen until client
report finish draw.
Change-Id: Ic8f1ebaf0bbaf2b060338ca08a11069481c09b9a
|
| |
|
|
|
|
|
|
|
|
|
| |
Also, add ability to pass in null to invalidateHomeTaskSnapshot
if the correct permissions are held, so that System UI does not
need to IPC to Launcher to ask it to invalidate itself.
Fixes: 229191103
Test: atest SystemUITests
Test: wake and unlock, note no double launcher
Change-Id: I0c547639979460b3a85b0ef0a8bbf760d60054cb
|
| |
|
|
|
|
|
|
|
|
| |
This CLs provides the getter API for DockBigOverlays. To better follow
API guidelines, it changes the naming from "*preferDockBigOverlays" to
"*shouldDockBigOverlays"
Bug: 220739302
Test: atest PinnedStackTests#testShouldDockBigOverlaysWithExpandedPip
Change-Id: I25c18531bc1f386b208ab7dde81a8b11a22d03a1
|
| |
|
|
|
|
|
| |
Bug: 216749913
Bug: 203647003
Test: atest PinnedStackTests#testPreferDockBigOverlaysWithExpandedPip
Change-Id: I6add690d54b8fb1061a1b5c9e5fe2f856f8019d0
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Enable setRecentsScreenshotEnabled as a public API to allow apps to
disable the screenshot that is shown in recents.
There's no need for a getter method because it's only set by the app so
it will not be changed by system
Test: SnapshotTaskTests
Fixes: 166729178
Change-Id: I06f1e4fa62ad50c050b6259e04a4af27cd25be67
|
| |
|
|
|
|
|
| |
overridePendingTransition
Test: atest CtsWindowManagerDeviceTestCases:AnimationBackgroundTests
Change-Id: I3debc8c1f4646cfd7c20c3f8e57abd465aec23ad
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Changes:
- Listens to changes from the client coming through IActivityClientController#requestCompatCameraControl to ActivityRecord#updateCameraCompatState
- ActivityRecord#updateCameraCompatState sends updated state via TaskInfo to WM Shell
- ITaskOrganizerController#updateCameraCompatControlState to dispatch the user interactions with the control from WM Shell triggers callback to ActivityRecord#updateCameraCompatStateFromUser
- ActivityRecord#updateCameraCompatStateFromUser remembers the user's choice and asks client to apply treatment through ICompatCameraControlCallback
Feature is guarded with config_isCameraCompatControlForStretchedIssuesEnabled
Test: atest WMShellUnitTests:ShellTaskOrganizerTests, atest WmTests:ActivityRecordTests
Bug: 206602997
Change-Id: I083aa6718bd67456bedd9444e9b78740c041f870
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
This method was introduced in ag/15302841 to check the new launch
activity and the activity below.
However, when launching an activity into split, the organizer may also
call to finish existing activity in split. We don't want to check the
split rule with a finishing activity.
Bug: 190433398
Test: test with demo app
Change-Id: I7f604ddea7c2f68adc3cee52b8872e653d5dad98
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
getActivityBelow() is necessary to check if a split rule should
be applied for two activities on top of each other. This will
only report an activity that belongs to the same process.
When an application starts an activity B on top of an existing
activity A normally, there might be a split rule to put them
side-by-side. Organizer needs to know that activities A and B
are on top of each other to check, so it can either intercept
new activity launch or observe it after it happens and check the
rules then. The second approach results in a cleaner implementation,
but it also means that the organizer needs a reliable way to check
which activity is directly below the launched one. There is no
reliable source of info for that on the client side yet.
Bug: 190433398
Bug: 190433500
Test: Manual, using the reference implementation of the organizer.
Change-Id: I0e0116b1b0144e0ba4d19039d78c34495fbe4457
|
| |
|
|
|
|
|
|
|
|
|
| |
Security report shows that this can cause leak token of different app.
Replace the functionality with a callback to the TaskOrganizerController
to restart activity when size compat restart button is clicked.
Bug: 186776724
Test: manually verify the restart button still works
Change-Id: I097b9f02e8435e6765695b9d5a531a4e165bac66
|
| |
|
|
|
|
|
|
|
|
|
| |
Otherwise they get out-of-sync and sometimes AR will not relaunch
the app, but the app client will think it needs to be relaunched
Bug: 181697795
Test: app configuration tests pass.
With 3-button nav, open app in split and observe launcher
reconfigure properly.
Change-Id: Idc8d71d92d9ae107e3adb949a2137de6c08908e9
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change partially reverts the back button behavior change introduced
in: I48ec35f841ab3b306fe80845150000c390908f5e
Instead of always moving the task to the back when the back button is
pressed on the root task, we only do it when the activity that is open
is a "launcher activity". These are activities that act as the main
entry points into an application, indicated with an intent filter with
ACTION_MAIN and CATEGORY_LAUNCHER.
Bug: 176235889
Test: atest WmTests
Test: atest CtsWindowManagerDeviceTestCases
Test: manual: flash crosshatch, press back button on a launcher activity,
observe task is moved to back; press back on non-launcher activity,
observe task is finished.
Change-Id: I1cbf85f1a007aeedcb66b9343d182188bacc78e7
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Introduce new APIs to customize exit splash screen animation.
- SplashScreen
This can be used for Activity to handle the exit splash screen
animation.
- SplashScreen#OnExitAnimationListener
When receive onSplashScreenExit, the splash screen view will be on
top of the activity.
- SplashScreenView
The view object which represents the view of current starting window.
There are two APIs for developer to control it:
- getIconView: get the icon view object.
- remove: remove the view and release resources.
If an Activity create a OnExitAnimationListener and set on
SplashScreen, the core will request a copy of SplashScreenView
from Shell, then send the parcelable information to client to
reconstruct the view on top of the DecorView, then call
onSplashScreenExit to let the listener able to operating this view.
Bug: 73289295
Test: build/flash, check splash screen starting window.
Test: atest StartingSurfaceDrawerTests ActivityRecordTests
WindowOrganizerTests
Test: atest CtsWindowManagerDeviceTestCases:SplashscreenTests
Change-Id: I9f77fb4471bcf37a7f74d6c18a345ca56c05b716
|
| |
|
|
|
|
|
|
|
|
|
| |
Including dismissKeyguard, restartActivityProcessIfVisible and
invalidateHomeTaskSnapshot.
Bug: 174041144
Test: ActivityTaskManagerServiceTests
Change-Id: I29b4f626baa2f3d6436e84e5364284fe42e5e7d1
(cherry picked from commit 5408d9af70db95ce3cb854f213c6635dc8ffce35)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This removes getActivityOptions from server side. So 2 binder
transactions from Activity#performCreate and performStart can
be eliminated.
The remote animation in ActivityOptions is also separated to
another field of ActivityRecord, so when consuming the options,
the remote animation won't be affected.
Bug: 65202329
Bug: 132432864
Bug: 175409544
Test: WmTests:ActivityRecordTests#testTakeOptions
ObjectPoolTests#testRecycleStartActivityItem
CtsTransitionTestCases:ActivityTransitionTest
CtsUsageStatsTestCases:ActivityTransitionTest
Change-Id: I600a9a478a3e596e58b0a8120cfa8b9f32598b47
|
| |\ |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- Add getLaunchedFromUid and getLaunchedFromPackage into Activity
because they are used in several places.
- Move getActivityClassForToken to ActivityTaskManagerInternal#
getActivityName because it is only used in system server.
- Remove getPackageForToken because it is no longer used.
Bug: 174041144
Bug: 174040691
Test: CtsWindowManagerDeviceTestCases
Change-Id: Iac1581ac2271baf1ab1625ced6cc1f42bf05eaf5
|
| |/
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reduces 2 binder transactions when launching activity:
- Get IActivityTaskManager from ServiceManager
- Get IActivityClientController from IActivityTaskManager
Bug: 174800802
Bug: 174041144
Test: "am start -n ${activity_name} -W -S -P /data/local/tmp/test.trace"
There should not have ActivityTaskManager#getService and
IActivityTaskManager#getActivityClientController from any
methods of ActivityClient.
Change-Id: I5ebf8d0764205f338ef53bbb8dfd8b5d0b7f9811
|
|
|
This CL focuses on the methods used by Activity and ActivityThread.
Also remove getUriPermissionOwnerForActivity, notifyActivityDrawn
notifyLaunchTaskBehindComplete notifyEnterAnimationComplete
because they are only used between ATMS and WMS.
Bug: 174041144
Bug: 174040691
Test: CtsWindowManagerDeviceTestCases
Change-Id: I5a30ec30cf6acd9ae4c908e524141fd17a4e54ff
|