diff options
5 files changed, 41 insertions, 3 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/recents/RecentsActivity.java b/packages/SystemUI/src/com/android/systemui/recents/RecentsActivity.java index 2040833b3a88..a64aed043089 100644 --- a/packages/SystemUI/src/com/android/systemui/recents/RecentsActivity.java +++ b/packages/SystemUI/src/com/android/systemui/recents/RecentsActivity.java @@ -777,6 +777,7 @@ public class RecentsActivity extends Activity implements ViewTreeObserver.OnPreD public void dump(String prefix, FileDescriptor fd, PrintWriter writer, String[] args) { super.dump(prefix, fd, writer, args); EventBus.getDefault().dump(prefix, writer); + Recents.getTaskLoader().dump(prefix, writer); String id = Integer.toHexString(System.identityHashCode(this)); diff --git a/packages/SystemUI/src/com/android/systemui/recents/model/RecentsTaskLoadPlan.java b/packages/SystemUI/src/com/android/systemui/recents/model/RecentsTaskLoadPlan.java index af1628b417a5..5ed1e65d6736 100644 --- a/packages/SystemUI/src/com/android/systemui/recents/model/RecentsTaskLoadPlan.java +++ b/packages/SystemUI/src/com/android/systemui/recents/model/RecentsTaskLoadPlan.java @@ -196,7 +196,7 @@ public class RecentsTaskLoadPlan { Drawable icon = isStackTask ? loader.getAndUpdateActivityIcon(taskKey, t.taskDescription, res, false) : null; - Bitmap thumbnail = loader.getAndUpdateThumbnail(taskKey, false); + Bitmap thumbnail = loader.getAndUpdateThumbnail(taskKey, false /* loadIfNotCached */); int activityColor = loader.getActivityPrimaryColor(t.taskDescription); int backgroundColor = loader.getActivityBackgroundColor(t.taskDescription); boolean isSystemApp = (info != null) && @@ -256,7 +256,8 @@ public class RecentsTaskLoadPlan { if (opts.loadThumbnails && (isRunningTask || isVisibleThumbnail)) { if (task.thumbnail == null || isRunningTask) { if (config.svelteLevel <= RecentsConfiguration.SVELTE_LIMIT_CACHE) { - task.thumbnail = loader.getAndUpdateThumbnail(taskKey, true); + task.thumbnail = loader.getAndUpdateThumbnail(taskKey, + true /* loadIfNotCached */); } else if (config.svelteLevel == RecentsConfiguration.SVELTE_DISABLE_CACHE) { loadQueue.addTask(task); } diff --git a/packages/SystemUI/src/com/android/systemui/recents/model/RecentsTaskLoader.java b/packages/SystemUI/src/com/android/systemui/recents/model/RecentsTaskLoader.java index fb92971703d5..e7ca4831c550 100644 --- a/packages/SystemUI/src/com/android/systemui/recents/model/RecentsTaskLoader.java +++ b/packages/SystemUI/src/com/android/systemui/recents/model/RecentsTaskLoader.java @@ -36,7 +36,9 @@ import com.android.systemui.recents.RecentsConfiguration; import com.android.systemui.recents.RecentsDebugFlags; import com.android.systemui.recents.events.activity.PackagesChangedEvent; import com.android.systemui.recents.misc.SystemServicesProxy; +import com.android.systemui.recents.misc.Utilities; +import java.io.PrintWriter; import java.util.Map; import java.util.concurrent.ConcurrentLinkedQueue; @@ -624,4 +626,14 @@ public class RecentsTaskLoader { } } } + + public void dump(String prefix, PrintWriter writer) { + String innerPrefix = prefix + " "; + + writer.print(prefix); writer.println(TAG); + writer.print(prefix); writer.println("Icon Cache"); + mIconCache.dump(innerPrefix, writer); + writer.print(prefix); writer.println("Thumbnail Cache"); + mThumbnailCache.dump(innerPrefix, writer); + } } diff --git a/packages/SystemUI/src/com/android/systemui/recents/model/Task.java b/packages/SystemUI/src/com/android/systemui/recents/model/Task.java index 68c46a910954..c6528a157d7a 100644 --- a/packages/SystemUI/src/com/android/systemui/recents/model/Task.java +++ b/packages/SystemUI/src/com/android/systemui/recents/model/Task.java @@ -338,9 +338,18 @@ public class Task { public void dump(String prefix, PrintWriter writer) { writer.print(prefix); writer.print(key); - if (affiliationTaskId != key.id) { + if (isAffiliatedTask()) { writer.print(" "); writer.print("affTaskId=" + affiliationTaskId); } + if (!isDockable) { + writer.print(" dockable=N"); + } + if (isLaunchTarget) { + writer.print(" launchTarget=Y"); + } + if (isFreeformTask()) { + writer.print(" freeform=Y"); + } writer.print(" "); writer.print(title); writer.println(); } diff --git a/packages/SystemUI/src/com/android/systemui/recents/model/TaskKeyLruCache.java b/packages/SystemUI/src/com/android/systemui/recents/model/TaskKeyLruCache.java index 748d8ed75040..c63a494963a9 100644 --- a/packages/SystemUI/src/com/android/systemui/recents/model/TaskKeyLruCache.java +++ b/packages/SystemUI/src/com/android/systemui/recents/model/TaskKeyLruCache.java @@ -20,6 +20,9 @@ import android.util.Log; import android.util.LruCache; import android.util.SparseArray; +import java.io.PrintWriter; +import java.util.ArrayList; + /** * A mapping of {@link Task.TaskKey} to value, with additional LRU functionality where the least * recently referenced key/values will be evicted as more values than the given cache size are @@ -112,4 +115,16 @@ public class TaskKeyLruCache<V> { final void trimToSize(int cacheSize) { mCache.trimToSize(cacheSize); } + + public void dump(String prefix, PrintWriter writer) { + String innerPrefix = prefix + " "; + + writer.print(prefix); writer.print(TAG); + writer.print(" numEntries="); writer.print(mKeys.size()); + writer.println(); + int keyCount = mKeys.size(); + for (int i = 0; i < keyCount; i++) { + writer.print(innerPrefix); writer.println(mKeys.get(mKeys.keyAt(i))); + } + } } |