Add permission for app hibernation state manipulation.
Bug: 183058954
Test: run hibernation job and confirm the API works for
PermissionController
Change-Id: Id57ee57f49710d0b8a49a4ec561800db43089f87
This puts display-content as another WC in a transition. It then
adds WC rotation to change tracking. If there is a rotation,
the shell-side handlers will play the transition.
This replaces ScreenTransitionAnimation, seamless-rotation, and
fixed-rotation:
ScreenTransitionAnimation implementation will move to shell.
seamless-rotation is redundant because the rotation setup is
intrinsically "seamless": it requires shell to imbue an
animation onto it rather than just doing the jump-cut.
fixed-rotation is now just a custom animation where we
counter-rotate the closing app on frame 1 and then perform
the normal open animation on the opening app.
Bug: 179270750
Test: DisplayContentTests#testShellTransitRotation
enable shell transitions and rotate the device or launch
and close apps in different orientations.
Change-Id: I4bc23b2e614ba85bf9752f62da4c3f8d0c90436d
In Android R, we introduced a platform.xml based
mapping. Unfortunately, it only worked for signature|preinstalled
apps.
To support apps granted the appop (via special app access
permissions), we now check the permission and appop grant state
explicitly and grant the app the external_storage gid appropriately
Test: Manual
Bug: 165515144
Change-Id: Ib91e1b3a7e54ac2c83fb1d94446bed06fd44bcf6
We added a new permission "MANAGE_HOTWORD_DETECTION" to allow
the application that held this permission to be able to use
setHotwordDetectionServiceConfig functions.
In order to avoid the feature leakage, we submit the change
about Shell in internal branch.
Bug: 178346114
Test: atest CtsVoiceInteractionTestCases
Test: atest PermissionPolicyTest
Change-Id: I8829c3c389fb5fe4b06ffcf21870db50fa2ede4b
After moving the starting window logic to Shell, some timeing could be
changed. For some case the starting window could be added back to
window manager after app has drawn, for this case the mStartingData
was already cleared.
A reasonable solution should to prevent the starting window add back
to window manager if window manager already clear the starting data,
and for this case we don't need to remove the starting window from
window manager.
Bug: 182749276
Test: atest ActivityRecordTests
Change-Id: Iec8581908a413a1d8f70a2006d58386c5c8f5b86
1. Only send navigation bar target when:
- It is the transition of launching an app
- In gesture navigation bar mode
- The navigation bar is not controlled by fixed rotation or recents
2. Add a windowType field to RemoteAnimationTarget so that the remote
clients could use this to find the non-app window they want.
3. Handle the onAnimationFinish() callback for non-app adapters.
Bug: 139273001
Test: atest RemoteAnimationControllerTest
Change-Id: I0612163502bdda01c4bdbae3b0ecda47efedad51
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
Added interact accross user permission to media uid so that it can query
packages for UID in cases where media service is running for user 0 and
applications runs for different user id (i.e. 10) as is the case in car.
Bug: 181574201
Test: build seahawk (car target)
Test: run media recorder application with RECORD_AUDIO permission
Test: run media recorder application without RECORD_AUDIO permission
Change-Id: I5052c92831978a7e6c8277d3c5a4e6cb5ed8a78b
There is no security risk in getFontConfig without calling permissions
but for keeping compatibility it is recommended to have permissions
to all (non-mainline) system APIs.
To be able to test these APIs, grant UPDATE_FONTS permission to shell.
Bug: 181796732
Test: atest FontManagerTest
Change-Id: Ic1f663e1e01f3625a076e68949f717366e79f5fa
Sandbox Display#getRealSize and WindowManager
bounds when letterbox or size compat mode are
applied to the configuration. Display uses
this field to provide the sandboxed display
size.
This reverts commit 0ba6185639.
Test: atest WindowConfigurationTests
Test: atest FrameworksMockingCoreTests:android.view.DisplayTests
Test: atest WmTests:SizeCompatTests
Bug: 181219241
Change-Id: I86e8edb8368269da8e02cf34f429d245550666c6
When an app transition is executed, RemoteAnimationTarget instance is
created for apps and IRemoteAnimationController#onAnimationStart is
called.
However it's possible that no valid app exists when an app transition is
executed, for example, an activity doesn't resume before timeout. If it
happens, RemoteAnimationController triggers
IRemoteAnimationController#onAnimationCancelled.
Test: atest RemoteAnimationControllerTest
Bug: 175687166
Change-Id: I50ddc91f7bd7ed24a977fa3face9c6e56e1bea02
This adds a permission that allows the holder to provide the source
package when setting the primary clip in clipboard. This will be done
using a new system API.
This is needed to ensure that the clipboard access notifications can be
properly attributed. For example, when a copy is performed through the
share sheet, the data should be attributed to the app that opened the
share sheet, not Android System.
Bug: 180577866
Test: builds
Change-Id: If3193d476fa923b849b505ad8b6dd893a2feae8f
This is to maintain similarity to ActivityRecord. ClientVisiblility
is now moved up to WindowToken and shared. VisibleRequested is still
separated since other windowtokens don't support it.
This lets us replace wallpaper-specific logic like deferHideWallpaper
in favor of the same visibility model as activity.
This model is effectively:
X calls setVisibility(v)
sets visibleRequested = v
if there's a transition, only commit the visibility when appearing.
othrewise, commit here.
If there was an ongoing transition, once the transition is over,
call commitVisibility.
Bug: 180143925
Test: Everything should behave the same and existing test should pass
atest WallpaperControllerTests
Change-Id: I7bd216922983c6bca5a3b39e5a09c55889f788ee
When setting up the recents animation input consumer,
provide focus to the input consumer. While we are
animating into recents, SystemUI needs to intercept
all input directed towards the app. Without intercepting
keys, the system will ANR the app going into recents.
This was the original behavior but regressed because of
the focus request change.
Test: go/wm-smoke
Test: atest FlickerTest
Fixes: 177923822
Change-Id: If9ac76fcb81a72f2c57407ce4a218f0954545abb
This is needed to be able to prompt for the work profile to be turned on
(probably needed for upcoming features).
Bug: 179656998
Test: no
Change-Id: I661b814930d1f999a7e1a2e0c6a923ec7dbb5535
Test: Use KitchenSink's activity resolver fragment with touch and
rotary.
Bug: 173543124
Change-Id: If7e5d48ce5d897a2cd90a02eaeda59e71d164520
(cherry picked from commit b04a4567a1)
1. Add shell command to allow a temporary override of the
TranslationService that helps e2e CTS tests.
2. Add permission to allow the shell call the UiTranslationManager
APIs for the tests.
3. Dump translation systemservice and activity translation related
information to help debugging
We don't want to leak translation feature now, so we submit the
change about Shell in internal branch.
Bug: 179047265
Test: manual.
1. Switch to temp TranslationService by "adb shell cmd transformer set
<myTranslationService> 12000" and make sure only the same app can
access the APIs when switching to the temp service.
2. adb shell dumpsys transformer
3. adb shell dumpsys activity <myactivity> --translation
(We set "transformer" now to prevent feature leak, the final value is
translation)
Change-Id: I2573b7ea226bd805a951f8346d5370d9c9776364