This was added when split-screen was implemented in
a flat manner (and thus Wm had to remember what mode
the stack was in before going to split). Now that
split-screen is based on inheritence, this is basically
dead code.
Additionally, now that we use task-organizers for
split, this actually gets in the way because it can
end-up doing something the organizer didn't ask for.
Bug: 151881448
Test: Existing tests pass.
Change-Id: I9fecdc704499c09c2e2924081b2e323d9b85ae0a
Role isn't reset when clearing package data, so its permissions
shouldn't be reset as well. This becomes important as we are using
roles to replace DefaultPermissionGrantPolicy now, so GRANTED_BY_ROLE
should also behave like GRANTED_BY_DEFAULT. In case any future role
should be revoked upon clearing package data, the role itself should
handle permission revocation as well.
Fixes: 158026399
Test: Clear package data for Photos, observer that storage permissions
are not revoked because they are granted by role, instead of
being temporarily revoked and granted seconds after launching
the app again
Change-Id: Iea1fd1a4e15c106c31c30d10ab6bf84d475455c2
This would clean up listeners if display has been reparented more than
once.
Bug: 157605189
Test: Bubbles show up.
Test: atest DisplayContentTests
Change-Id: Ic616015ff516e4c054fdaab5cc0d82e8d82c8dfc
Now that the underlying deadlock should be resolved, we can attempt
to enable the dynamic permissions checking.
Bug: 115619667
Test: atest android.appsecurity.cts.ExternalStorageHostTest
Change-Id: Id0ae1e489efd1df9d89ea7e0454da5fe7bb27ee0
We've seen additional evidence of deadlock between AM and UGMS, so
this change explicitly detangles those two locks to ensure that we
never hold the UGMS lock while calling into AMS, and it adds explicit
validation that will immediately throw instead of waiting a lurking
deadlock to trigger.
This change adds explicit "locked" and "unlocked" tags to relevant
methods inside UGMS to make it easier to track locking dependencies.
It also buttons up internals to be "private", ensuring that all
external callers are routed through our LocalService interface;
this has some additional overhead for inner-class method dispatch,
but the added safety outweighs the cost.
Bug: 115619667, 157863128
Test: atest WmTests:ActivityStarterTests
Test: atest FrameworksServicesTests:com.android.server.uri
Test: atest CtsAppSecurityHostTestCases:android.appsecurity.cts.AppSecurityTests#testPermissionDiffCert
Test: atest CtsWindowManagerDeviceTestCases:CrossAppDragAndDropTests
Test: atest CtsWindowManagerDeviceTestCases:ActivityStarterTests
Change-Id: Ib9d466d6c9844d03626d8f0b30ca69a76d00f02f
This consumes ~3.5% system logs, however it is not very useful
when debugging since similar information could be obtained from
dumpsys {connectivity|netpolicy}. Thus, remove the log.
Test: manual
Bug: 135504481
Change-Id: I04d2b7402f892546722fe6868c521afd9534f183
Merged-In: I04d2b7402f892546722fe6868c521afd9534f183
(cherry picked from commit 21a352f761)
Seamless rotation of PiP has not been defined. To avoid ugly jump
cut when moving PiP with different orientation, the display is
still frozen to perform normal rotation animation.
Fixes: 156593887
Test: atest DisplayContentTests#testNoFixedRotationWithPip
Change-Id: I6830970ada96023fc5b93afb2f9a917988c93b59