cdef591e52e691a6f57e367caa5670fdc4ee1a8a |
|
03-Apr-2017 |
Jorim Jaggi <jjaggi@google.com> |
Improve caching behavior of thumbnails Remove the retrieval cache on system_server. It's not needed at this point. Instead, we cache the low-res thumbnails on SystemUI side that will be visible when recents launches. For that, we introduce a strong thumbnail cache, which gets filled up whenever the task stack changes. Also fix a couple of issues like that the visibility report was pretty wrong as well as some tasks got unloaded because tasks were bound before layout happend. Also fix a merge issue where we didn't load the reduced resolution thumbnail :/ Test: TaskSnapshotCacheTest Test: Open a couple of apps, open recents, make sure all thumbnails are already loaded. Fixes: 36374895 Change-Id: Idbf1acd4ceab6a7c4656e9791e245a8b102017f2
/frameworks/base/services/core/java/com/android/server/wm/TaskSnapshotCache.java
|
35e3f53a30588b79e0309fdbeef29a8c18eef65d |
|
17-Mar-2017 |
Jorim Jaggi <jjaggi@google.com> |
Also store reduced resolution screenshots In order to speed up loading time when scrolling through it in recents. They will be used in recents in the next CL. Also, we use JPG instead as loading JPG is much faster than PNG. Test: TaskSnapshotPersisterLoaderTest Test: TaskSnapshotCacheTest Bug: 34829962 Change-Id: I4c74b26969ae459bd3b1a42707011a49f425abd9
/frameworks/base/services/core/java/com/android/server/wm/TaskSnapshotCache.java
|
6d41026f1b3dc910c9d34ab89993a280dc9679cf |
|
01-Mar-2017 |
Bryce Lee <brycelee@google.com> |
Clean up closing apps list when clearing anAppWindowToken's task. Previously it was possible for an AppWindowToken to be removed while on the closing apps list, used in transition animations. During these transitions, the visibility of the token is modified. Since visibility relies on the WindowContainer parent, a NullPointerException would occur. This changelist addresses the issue by making sure to remove any AppWindowToken from this list when its task is set to null. Change-Id: Id9234822b228f4658f04d42ac0fe7b49ded6f5a1 Fixes: 35352214 Test: manual (primarily code inspection)
/frameworks/base/services/core/java/com/android/server/wm/TaskSnapshotCache.java
|
7361babf94baa985eaa8bd2e94fcb16f00670998 |
|
16-Jan-2017 |
Jorim Jaggi <jjaggi@google.com> |
Implement restoring & correct caching of snapshots Introduce a retrieval cache that holds the last accessed snapshots, in addition to the cache of the activities that are the top most activtiy of a task that have a running process. Change everything to use an integer id instead of a Task object to work around the issue that some tasks SystemUI might access might not exist in WM yet (not yet restored from recents). Don't put anything in the cache on the SystemUI side, but still retrieve the thumbnails after a task changed event to make sure the cache on the system_server side is fresh. Test: runtest frameworks-services -c com.android.server.wm.TaskSnapshotCacheTest Bug: 31339431 Change-Id: I8e56365459a677735320adaa169da8fb033ceab0
/frameworks/base/services/core/java/com/android/server/wm/TaskSnapshotCache.java
|
10abe2fe297ce1ec60c15a3bd947757aee5b14b3 |
|
03-Jan-2017 |
Jorim Jaggi <jjaggi@google.com> |
When app dies, destroy snapshot Also destroy snapshot when we remove the AppWindowToken. Test: runtest frameworks-services -c com.android.server.wm.SnapshotCacheTest Test: Open app, go home, kill app, make sure snapshots are destroyed. Change-Id: I532c2d7499a86164175f9fcbc8b77c6eb6bfeae6
/frameworks/base/services/core/java/com/android/server/wm/TaskSnapshotCache.java
|
e2c77f903504766102fe545af40c3e4ebcb3adc7 |
|
29-Dec-2016 |
Jorim Jaggi <jjaggi@google.com> |
Handle content insets for snapshots Pass information about content insets of a snapshotted task to SystemUI and use it there to correctly offset the snapshot when drawing. Test: Open app, go to recents, make sure app aligns before and after the animation. Bug: 31339431 Change-Id: I2ff9bd44534bd8f66b591385da1e1e3aec40b6c5
/frameworks/base/services/core/java/com/android/server/wm/TaskSnapshotCache.java
|
02886a82d876aa5e31a92444fec70208599c509c |
|
06-Dec-2016 |
Jorim Jaggi <jjaggi@google.com> |
Initial implementation of snapshots All this functionality is hidden behind a flag. If this flag is active, we disable the regular screenshots. Instead, we take a screenshot when an app transition for which a task is disappearing is starting. The screenshot gets stored into a gralloc buffer. SystemUI uses a new method to retrieve a snapshot gralloc buffer and then draws it using GraphicBuffer. createHardwareBitmap(). When starting an existing activity in an existing tasks, or when bringing an existing tasks to front from recents, we add a new snapshot starting window. For that, we reuse the existing starting window, but when creating the window, we use a fake window that draws the contents of the starting window. Test: runtest frameworks-services -c com.android.server.wm.TaskSnapshotControllerTest Bug: 31339431 Change-Id: If72df07b3e56f30413db5029d0887b8c9665aaf4
/frameworks/base/services/core/java/com/android/server/wm/TaskSnapshotCache.java
|