am skip reason: Change-Id Ifb8c66372a8e994edcea628cad7dc2a7ee4763a6 with SHA-1 7d5a0048ce is in history
Change-Id: I910d96cbf41d9c8c94bd46b5ab91fd7a7a13aee2
Add logic for dexopt-ing system server dex files. The files
are managed by the DexManager and need special dexopt
arguments.
As such, they have a dedicated dexopt path, that can be
initiated from DexManager. (The arguments are what we currently
use in ZygoteInit#performSystemServerDexOpt)
Test: adb shell cmd package dexopt android
presubmits
Bug: 148774920
Change-Id: If0c0457f8045e8f475815136fb5ae2f340eb6661
when a app call setMode to set mode to non MODE_NORMAL modes many times with different audio managers in the same process, in this case the "pid" parameters are the same and the "cb" parameters are not the same, then the parameter "cb" registered and the "mCb" in hdlr are not the same, then NoSuchElementException will happen, and when the app was cleared in recent tasks the audio mode will not be reseted to MODE_NORMAL by expected flow.
Bug: 153649105
Test: AudioManagerTest#testAccessMode, CallDetailsTest#testSetVoipAudioMode
Test: manual cell and voip call
Signed-off-by: wumin3 <wumin3@xiaomi.com>
Change-Id: Ifb8c66372a8e994edcea628cad7dc2a7ee4763a6
Merged-In: Ifb8c66372a8e994edcea628cad7dc2a7ee4763a6
- Attempting to set the visiblity when the task org is set can happen too
early and cause the app to not draw and preventing taskAppeared().
Instead, move this to setHasBeenVisible() to be in line with other
cases in the system where we defer setting visibility until the apps
are good to go. However, if we do this, we also need the first draw
(including the starting window) to trigger setHasBeenVisible() to
ensure the task org can hide it in time (the task org will also want
to receive the task as soon as possible). As a result of moving it out
of when the task org is set on the task the PIP transition then also
has to defer setting the visibility of the activity until the first
draw.
- Also fix a case where we are dispatching task info change before
taskAppeared(). There's a brief period where the task has an organizer
set, but the task org state has not added that task yet or sent
taskAppeared() because it has not yet drawn. But in that state, config
changes still happen causing a task info changed call to the task org.
Bug: 152809695
Bug: 152134460
Test: Open a bubble, ensure that we don't see the task in fullscreen
first. Enter pip, ensure that we don't see flash of the task
before SysUI can fade it in.
Test: atest PipAnimationControllerTest
Test: atest TaskOrganizerTests
Test: atest SplitScreenTests
Change-Id: I7d2ca2a2e538f07c73fff79686e040c159c1dce3
- If the task is previously not visible or has no visible children at
the point when we start controlling it in the task org, hide the task
until we send taskAppeared to ensure that the task org can reparent
and show it otherwise we could see a flash of the task.
This happens mainly from two cases:
- when starting a new task with a given win mode, we show it and wait
for first draw before notifying the task org
- when transitioning into pip from swipe up, the activity is hidden
and when it requests to enter pip is made visible again
Since we are hiding the task w/ the pending transaction, we also need
to defer all task org callbacks until that's applied to ensure proper
lifecycle of the calls.
- Also skip app transitions for task org tasks for now
This reverts commit d2fb07e4f632af9ab16667c58b1c1d40711f1544.
Bug: 152809695
Bug: 152134460
Test: Open a bubble, ensure that we don't see the task in fullscreen
first. Enter pip, ensure that we don't see flash of the task
before SysUI can fade it in.
Test: atest PipAnimationControllerTest
Test: atest TaskOrganizerTests
Test: atest SplitScreenTests
Change-Id: I9f1fc5931df1d69a7086c02b633347162cda94bf