summaryrefslogtreecommitdiff
path: root/core/java/android/app/ActivityTaskManager.java
Commit message (Collapse)AuthorAgeFilesLines
* Allow getTasks to filter tasks by displayId.Yuncheol Heo2022-08-011-3/+19
| | | | | | Bug: 236099098 Test: atest WmTests:RunningTasksTest WmTests:RecentTasksTest Change-Id: I4fe5955a075f1482df3acdff8baefc7126ef9bd0
* Remove permission token from startActivityAsCallerMark Renouf2022-03-231-8/+0
| | | | | | | | | | | | The call is protected by the signature permission START_ACTIVITY_AS_CALLER. This will remove the need for additional data to be passed from system server. Bug: 222082547 Bug: 226354782 Test: atest ActivityTaskManagerServiceTests, atest ChooserActivityTest, manual testing Change-Id: I94f34a68e390569ec14dfebb1902a7c30558864f
* Hook up nav-bar attach/detach logic to Shell TransitionsEvan Rosky2021-05-211-0/+13
| | | | | | | | | | | | | | | | | | For the Recents gesture animation, the navbar gets attached to the app while dragging. The actual navbar attach/detach logic lives in Core, so this change basically hacks the logic into the core-side of shell transitions. This is ugly and should be a temporary solution until that behavior can move to Shell. This also had to add an ugly API on IATM because the lifecycle of the navbar reparent is different from the transition lifecycle in this instance because of LiveTiles. Bug: 188595497 Test: With shell transit enabled, open app, swipe up to recents. Observe navbar attached to app during drag and put back on screen afterwards. Also, no more crash. Change-Id: I1aba53314329e3fd7678a7e8a5fc8ffa0294e395
* Determine whether to support activities in multi window (1/n)Chris Li2021-04-271-14/+0
| | | | | | | | | | | | | Add a field of supportsMultiWindow to TaskInfo for WM Shell to use. Because we will change to Task#supportsMultiWindow to check the support based on the root activity's resizibilty, min widht/height, and the device settings, using this to replace the check in ActivityTaskManager, which is pure device settings. Bug: 176061101 Test: atest WMShellFlickerTests Change-Id: Iad94b39506e71b6224d923f02bd7fc454cae02c8
* Add a method to obtain task info with intent extraGarfield Tan2021-04-201-1/+11
| | | | | | | | | | Also change boolean parameters to bitwise flags to clean up the signature. Fixed the unit test in RunningTasksTest because it didn't set up the test correctly. Bug: 185492118 Test: atest RunningTasksTest Change-Id: Id6771c48de2e219acd998b39f82a71ed6e0c59a2
* Fix back stack for PiP from multi-activity TaskHongwei Wang2021-04-141-1/+2
| | | | | | | | | | | Details in design doc go/pip-and-back Video: http://recall/-/aaaaaabFQoRHlzixHdtY/g8lbXnC8ln0t54ARxfPELo Bug: 184758170 Test: ensure back stack works for Netflix, see video Test: atest PinnedStackTests Test: atest RootWindowContainerTests Change-Id: I9e2f8d0d50dd107ff30fd7afe6273d8347aac803
* Remove obsolete test APIs of split screenRiddle Hsu2021-04-121-45/+0
| | | | | | | | | | | The methods setTaskWindowingMode and resizePrimarySplitScreen can be replaced with the methods of WindowContainerTransaction and TaskOrganizer. Bug: 174040691 Test: CtsWindowManagerDeviceTestCases Change-Id: I975457887a87464456675010c7531738fa5f62f4
* Allow non-resizable to enter split screen from recentChris Li2021-03-121-0/+14
| | | | | | | | | | Before, LegacySplitScreen is not allowing non-resizable to enter split screen. Now, it also checks supportsNonResizableMultiWindow. Fix: 181377395 Bug: 176061101 Test: manual Change-Id: Iae4c65b5c8b0a139dbf8af55caba9f6c99d1f470
* Customizable exit splash screen animation.(2/N)wilsonshih2021-02-151-0/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Remove moveTopActivityToPinnedRootTask completelyRiddle Hsu2021-01-081-15/+0
| | | | | | | | | | It is not used anymore. Such as CTS was changed from host-side to device-side. The history commit: 079a004. Bug: 174040691 Test: build Change-Id: I9c3c03e0ec9f4fbc42d4f69ed621917a350f8081
* Remove IActivityTaskManager#setTaskWindowingModeSplitScreenPrimaryRiddle Hsu2020-12-311-32/+4
| | | | | | | | | | | | | | | | | | | | | It is the same as setTaskWindowingMode(SPLIT_SCREEN_PRIMARY). Still keep ActivityTaskManager#setTaskWindowingModeSplitScreenPrimary that redirects to setTaskWindowingMode for simple usages. Remove SPLIT_SCREEN_CREATE_MODE_TOP_OR_LEFT and SPLIT_SCREEN_CREATE_MODE_BOTTOM_OR_RIGHT because they are no longer used since commits bed2d1b, 4067a2d and 51beb14. Now if there needs the similar functionality, it should be done by organizer in shell. Remove the usage getNavBarPosition from StatusBar because it was used to determine the split side. The history about the removed fields: 59a73ca, f59a413. Bug: 174040691 Test: SplitScreenTests Change-Id: Ie5770d72cc5fb2f6ba1beceec418f1ea39f9c604
* Move requestPictureInPictureMode to internalRiddle Hsu2020-12-151-14/+0
| | | | | | | | | | | | There is no usage of ActivityTaskManager#requestPictureInPictureMode. Only keep the server side method for the reference from the implementation of other type device. Bug: 174041144 Bug: 174040691 Test: ActivityTaskManagerServiceTests Change-Id: Iac27a542f1ef693850336e31627bdb6629ee3d4e
* Switch some recent tasks calls from IATM to ATMWale Ogunwale2020-11-301-2/+107
| | | | | | | | | | | The aidl IActivityTaskManager interface doesn't allow for method overloading with the same name. Switching some of these calls to use ActivityTaskManager class instead makes it easier to have overloads in upcoming CLs. Test: they pass! Bug: 172776536 Change-Id: Ic4895ccf7dc1207cc6b14004cfcf6ee7b4b76cc1
* Allow resource override on max number of actions in PiPHongwei Wang2020-10-281-0/+6
| | | | | | | | | | | | | | Moved the query of max number of pip actions from ActivityTaskManagerService to ActivityTaskManager. Note that TaskInfo#pictureInPictureParams is exposed via TaskInfo#getPictureInPictureParams (annotated as @TestApi). Bug: 168800594 Test: atest PinnedStackTests#testMaxNumberOfActions \ PinnedStackTests#testFillMaxAllowedActions \ PinnedStackTests#testRejectExceededActions Change-Id: Ibcf2302e3ec87909543a1d6da0b64fd4565a061c
* Deprecate MANAGE_ACTIVITY_STACKS permissionLouis Chang2020-10-281-12/+12
| | | | | | | | | | | Adding MANAGE_ACTIVITY_TASKS permission as the replacement, but still grant the deprecated MANAGE_ACTIVITY_STACKS permission for app compatibility. Bug: 157876448 Test: presubmit Change-Id: I894ee66e058b1024a731d3be4b33b69626451f08
* Remove single task display pathWinson Chung2020-10-211-13/+0
| | | | | | | Test: atest TaskStackChangedListenerTest Test: atest RecentTasksTest Bug: 165794879 Change-Id: I4c86e58026be7bcbbd8a2568b396a281668b9385
* Renaming Stacks APIs to RootTasksLouis Chang2020-10-061-19/+19
| | | | | | | | | | | | | This CL is aimed to refine the AM/ATM API surface. The other stack naming internally spread in AM and ATM will be covered in later CLs. Also Consolidate #removeStack() with #removeTask(). Bug: 157876448 Test: existing tests Change-Id: I1254f972dab3bbe66a736a0402eebce9d0fb1496
* Replace StackInfo with TaskInfoLouis Chang2020-09-031-21/+94
| | | | | | Bug: 148895075 Test: existing test pass Change-Id: I97a12397b61f4ee67810dc4ae0423de07d4befa8
* Merge "Ensure split-screen support isn't reported on devices with small ↵Darryl Johnson2020-07-081-1/+19
|\ | | | | | | displays."
| * Ensure split-screen support isn't reported on devices with small displays.Darryl L Johnson2020-07-061-1/+19
| | | | | | | | | | | | | | | | | | | | | | | | Several partners with devices that have small displays have run into issues w/ CTS-on-GSI testing as these builds hardcode support for split-screen. This prevents split-screen from being reported as supported if the display isn't compatible according to the CDD. Bug: 158310372 Test: android.server.wm.SplitScreenTests#testMinimumDeviceSize() Change-Id: I0dfd6caca5116dccc115d64b755998171abe831f
* | Ensure mShowDialogs gets updated as part of global config updateNikolas Havrikov2020-06-191-3/+11
|/ | | | | | | | | | | | | | | | | | | | | | | | | | The "App keeps crashing" dialog appears on Android TV even though it should not. This would usually be accounted for by setting mShowDialogs to false in the ActivityTaskManagerService on boot. However, this does not happen because the service uses a method of the ActivityTaskManager which pulls its configuration from the context, which at this point is not yet updated to reflect relevant values like the uiMode. This change solves this problem by introducing an internal method in the ActivityTaskManager, which acts on a given configuration instead of the one from the context. This is helpful because the caller ActivityTaskManagerService is holding on to the correct configuration in the first place. Furthermore, this change does not impact any outward-facing behavior, nor does it introduce code duplication as the old method of ActivityTaskManager new merely delegates its task to the new one with the same configuration it would have originally pulled from the context. Test: Manually on ADT-3 device Bug: 159019027 Change-Id: I0fac574a69a19243c2e62b967978ef5d8318ee51
* Add currentUiModeSupportsErrorDialogs() into ActivityTaskManager.Yuncheol Heo2020-04-211-0/+12
| | | | | | | | The method will be used in AnrTests to check if the system can support ANR Dialog or not. Bug: 149510025 Test: atest AnrTests Change-Id: I7a78be06fcf3c4882931aaea1d330b2cebdc2d84
* Introduce WindowOrganizerWale Ogunwale2020-03-231-19/+0
| | | | | | | | | | | | | | | | WM currently only allows the organization of tasks, however we will soon be allowing the organization of DisplayAreas. To help with the code structure, we are introducing WindowOrganizer interface which will contain common APIs for all types of windows organizers (e.g. applyTransaction) and also be the interfaece for getting the controller for other organizers. Test: they pass! Bug: 147406652 Bug: 152113464 Bug: 152117221 Change-Id: Id2797b288ce92430206c25345d60e7b0e3be98c8
* Move some window related files to android.window packageWale Ogunwale2020-03-221-0/+1
| | | | | | | | | | | | | Window management files on the client side have normally been dumped in either android.view or android.app package. This CL starts to centralized them in android.window package so there is better separation. Test: they pass Bug: 147406652 Bug: 152113464 Bug: 152117221 Change-Id: I4d64bd256e9b3581af0ccf9396f7dd2454132719
* Clean-up old docked-stack implementation from WMEvan Rosky2020-02-251-2/+1
| | | | | | Bug: 133381284 Test: Existing tests pass. Manually use sysui Change-Id: I44155d74df1489fa391c60a05d1f8098986cefb7
* Move PiP animation to SysUI packageHongwei Wang2020-02-241-19/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | The bounds animation is cleaned up within window manager and it's now the SysUI component listening on callbacks from TaskOrganizer for entering to and exiting from PiP mode. Additionally, the expand and move of the PiP window is now part of SysUI as well. Known issues: - Black background when in transition from PiP to fullscreen. The wallpaper gets into hidden state too early - App gets into PiP mode too early when entering PiP, need to defer the configuration change sent to app in this case Bug: 146594635 Bug: 148198539 Bug: 138144750 Bug: 149569903 Test: atest PinnedStackTests Test: atest PipAnimationControllerTest Test: atest RecentsAnimationTest Test: atest RecentTasksTest Test: atest com.android.server.wm.ActivityStarterTests Merged-In: Id0c8ce03fa26952daf5e3687b18b2eb2375b7d20 Change-Id: Id0c8ce03fa26952daf5e3687b18b2eb2375b7d20
* Add lock task check when entering split screenWinson Chung2020-02-031-5/+7
| | | | | | | | - Simplifies the checks we have to do from SysUI Bug: 148244169 Test: atest SplitScreenTests Change-Id: I80b09d23fc6e03d94ea6c1ece48fd31a52d54419
* Add TaskTile concept to Window ManagerEvan Rosky2020-01-311-0/+18
| | | | | | | | | | | | | | | This adds the concept of a TaskTile to the WM. Due to complexities in the current Stack/Task relationship, tiles can't actually be part of the hierarchy, so the Stack level has to internally resolve configurations as if they were. The TaskTiles themselves *are* ActivityStacks though from the client/sysui perspective, though. Bug: 133381284 Test: Added TaskTileTests Change-Id: I9baad5ec899b4fab323a36c1533a40081727a2f7
* Add #onPictureInPictureRequested to Activity and ATMjorgegil@google.com2019-12-201-0/+15
| | | | | | | | | | | | | | | Allows vendors to signal that an activity should enter picture-in-picture if possible. Additionally, removes the need for an Activity to go through onPause to enter picture-in-picture. Apps can now override this new API and enter PIP from there instead of relying on #onUserLeaveHint. Bug: 143365086 Test: atest FrameworksCoreTests:android.app.activity.ActivityThreadTest Test: atest CtsWindowManagerDeviceTestCases:PinnedStackTests Test: atest WmTests:ActivityTaskManagerServiceTests Change-Id: Ib7ae9d1a7055ceed73e9643982033de9d4ad7350
* Use new UnsupportedAppUsage annotation.Artur Satayev2019-12-181-1/+1
| | | | | | | | Existing annotations in libcore/ and frameworks/ will deleted after the migration. This also means that any java library that compiles @UnsupportedAppUsage requires a direct dependency on "unsupportedappusage" java_library. Bug: 145132366 Test: m && diff unsupportedappusage_index.csv Change-Id: I8789f8499d4dca08580672e9e45ed9a7026dd686
* Unify Window resize (1/N)Evan Rosky2019-08-301-18/+6
| | | | | | | | | | | | | | | | This decouples the Split and Pinned stack resize flows. The current goal is to prepare for a leashed resize implementation for split-screen. For this to work, it needs to be clear what actual logic belongs to the various docked resizing modes vs what is for general stack resize or pinned resize. This also enables PiP and Split to be worked-on in parallel. As can be seen, general stack resize is actually not required because freeform and fullscreen modes use task resize. Bug: 119687367 Test: go/wm-smoke + related CTS Change-Id: I9cca1910a18b87dda618235e89f2bdc582086f34
* Greylist IActivityTaskManagerSingleton.Mathew Inwood2019-04-031-0/+2
| | | | | | | | | This is needed by Tinker, a hotfix framework commonly used in China so it can continue working in Q. Bug: 129726065 Test: m Change-Id: Ie559b1bd9ad256de789e387c3f2b182bd761d23f
* Add support for singleTaskInstance displaysWale Ogunwale2019-01-021-0/+13
| | | | | | | | | singleTaskInstance displays will only contain on task. This is mostly used by ActivityView for use cases like bubbles. Bug: 121047677 Test: atest ActivityManagerMultiDisplayTests#testSingleTaskInstanceDisplay Change-Id: I5166015d8ecfa2845b4ffaa6c16d21a30a56b8a8
* API: Clean up redundant and ineffective usages of SystemApi and TestApiAdrian Roos2018-12-111-17/+0
| | | | | | | | | | | | | Everything that is marked SystemApi or TestApi, but not @hide is still part of the public SDK, it is therefore not sound to have that combination. In the future, specifing such a combination will be considered an error to prevent inadvertently exposing SystemApi and TestApi as public API. Bug: 115333477 Change-Id: Ibd5d6a22862fdbc1e20a1cb3925280f5a682edea Test: METALAVA_PREPEND_ARGS="--error UnhiddenSystemApi" m checkapi Exempt-From-Owner-Approval: API cleanup
* Add a test API to remove launch param records.Garfield Tan2018-11-281-0/+14
| | | | | | | | | Some tests are broken because launch params are persisted between test cases. Bug: 120035844 Test: Manual test on the CTS. Change-Id: Ia4f23778467f73dad471487eb94979bfccde16d9
* Re-patching in Sharesheet security model changes.Alison Cichowlas2018-11-091-0/+26
| | | | | | | | | | | | | | | | | | | | Previously reverted due to b/72554856, fix for that in topic. Original commit message: Security model for moving sharesheet to systemui ResolverActivity (still in frameworks) now requests a "permission token" that it hands to a stubbed system ui activity ChooserActivity. This permission token allows an app (SysUI) with the signed permission "START_ACTIVITY_AS_CALLER" to call ActivityManagerService#startActivityAsCaller. Permission tokens are a one-time use, limited-time offer. Test: runtest systemui && manual testing Bug: 69850752 Change-Id: Ia50e21e2f8c6b6d0ed7207625e3b5aef214396bb
* Moved some log config. to ActivityTaskManagerDebugConfig (21/n)Wale Ogunwale2018-10-151-0/+6
| | | | | | Test: Existing test pass Bug: 80414790 Change-Id: I0d33b4d325be805ac49a97ea02ad1a10fd1bf24f
* Add TestApi for CtsActivityManagerDeviceTestCases.lumark2018-08-081-0/+138
| | | | | | | | | | 1) Use @TestApis for verify AM related functions to replace using command. 2) Remove "development" protection level for some @TestApis permissions. Bug: 77988683 Bug: 80415658 Test: atest CtsActivityManagerDeviceTestCases Change-Id: I4bb10b45a2269c9e871f38f219d3e92cb45eeb9d
* Expose method to clear all visible recent tasksWinson Chung2018-08-011-0/+13
| | | | | | | | | - 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
* Split interfaces and service for activities from current AM interfaces (1/n)Wale Ogunwale2018-06-061-0/+253
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