Relaunching a running activity will sometimes cause animations in that
activity to run, causing jank due to too much happening (window animations
on that same window running at the same time).
An earlier fix pauses application rendering while window animations are running,
but only the first time the activity comes up. If the window is animated
after that (such as is the case with re-launching it while it is running
in the background), rendering, and therefore animations, happen as usual,
causing the jank.
The fix is to simply broaden the scope of when application rendering is
paused to include anytime the window is animating.
Issue #8472972 Make app animations play nice with window animations
Change-Id: I1dd8da039fcb4d1faf6c0811bae97ef2847deb84
If LockScreen is enhanced using SurfaceView/GLSurfaceView,
deadlock problem between LockScreen and WindowManagerService
can occur because of IWindow.resized() callback.
And it must lead to watchdog and reset.
IWindow.resized() callback is one-way function so calling resized()
callback of a remote IWindow object is never blocked.
However, calling resized() callback of a local IWindow object
(LockScreen is running on the same system_server process)
is always blocked until resized() callback returns.
Because resized() callback of SurfaceView/GLSurfaceView can lead to
WindowManagerService.relayoutWindow() call, deadlock can occur
between relayoutWindow() and performLayoutAndPlaceSurfacesLockedInner().
(Both functions need locking mWindowMap)
So this patch simulate one-way call when calling resized() callback
of a local IWindow object.
Change-Id: I2a6a5c74ed22d8e6b7a3bea3424ff2879d227105
Signed-off-by: Sangkyu Lee <sk82.lee@lge.com>
Clarify offline usage of sessions and keys and implement
implement CryptoSession to support additional crypto use
cases.
Change-Id: Id3f8c706e9e3034b09af8e2a6a2f26bd74a49f93
- Remove redundant synchronize in ActivityStack.activityIdleInternal().
- Move startSpecificActivityLocked from ActivityStack to Supervisor.
- Move handleAppDiedLocked from Supervisor to ActivityStack.
Change-Id: Id746ab3bdff861b61182282bea1deb8fcf284084
RemoteControlClient defines two listener interfaces for playback
position, one to let the framework query the current playback
position, the other to request playback to seek to a given
position.
Updated IRemoteControlDisplay interface to support passing info
about whether the user of RemoteControlClient can provide a
playback position, and receive a new one.
Updated implementations of IRemoteControlDisplay to new
interface.
Bug 8120740
Change-Id: I1a5a969da4d0f8c9ad27f691919dd08f8653982b
Now that we are smarter about the initialization, we need
to do this after all packages are scanned.
Change-Id: I598f5ef84dcc83779bbff29e4c92136c63fb32de
LinkProperties's equals() method was broken by the addition of
stacked interfaces. The reason was that equals() was checking
the equality of mStackedInterfaces.keys(), which is just an
enumeration, instead of mStackedInterfaces.keySet(), which
actually contains the keys. The test was failing, but I didn't
notice.
Fix the bug and make the test check the objects more in depth
so it can give more detailed error messages when equals() fails.
Bug: 8276725
Change-Id: Ie990bd75f641c28e63e54d953dcd0f4de13f7c9f
- Move showAskCompatModeDialogLocked from ActivityStack to
ActivityManagerService.
- Keep track of userId in ActivityStackSupervisor and initialize
new ActivityStacks with it.
- Move realStartActivityLocked to ActivityStackSupervisor except
for the part that actually updates the ActivityStack.
Change-Id: I7467302f1249fee2ea3cf027a49e0894c9a2213d
bug:8501661
Makes the performance issues and interaction with layer type/paint
more clear.
Additionally, corrects change from 47ab7d6612e2b5b8b66fb261dafef7c91264e173
to still allow displayList alpha to override layer paint
Change-Id: Ic94d75865700820489370461cd8ac9f9077a8d90
Removed storage of last audible stream volume index.
This information is redundant because we already have
two pieces of information (current volume and mute state)
allowing to completely define which volume should actually
be applied by the framework or indicated to apps.
The last audible index management had anyway been broken by
successive changes making that the value stored could be 0
in some cases causing problems like issue 8109149 when
restoring the volume settings from the DB.
Bug 8109149
Change-Id: Iea80f5a994554e42d45b227f651ec9646844aa77
Use ActivityStackSupervisor.mMainStack in its place. Or, in cases
where multiple stacks must replace mFocusedStack, create new
methods in ActivityStackSupervisor that will replace it.
Change-Id: Ib0dda51e1043a6d5110e5a2914d695ef16bf9371
The Activity Manager sets up a permission-guarded domain socket, which
debuggerd connects to when a crash happens. If this is successful,
the daemon then mirrors the logged crash report to that socket, then
closes it.
The Activity Manager parses the native crash dump supplied by debuggerd
and forwards it to the standard app-crashed code. The UX result is
that users now see the normal "app has stopped unexpectedly" dialog
with "report" and "okay" options for native crashes, not just for
DVM-mediated crashes.
Bug 8322568
Change-Id: Ie1b279896c603bd74d82d6cfcfd66a8f231da134