OSDN Git Service

Introduce the display ID to TaskKey
authorJeff Chang <chengjeff@google.com>
Thu, 20 Dec 2018 12:19:58 +0000 (20:19 +0800)
committerJeff Chang <chengjeff@google.com>
Fri, 3 May 2019 13:58:54 +0000 (21:58 +0800)
Let the recents app to know the recent task was running from which display.

Bug: 118266305
Test: 1. atest ActivityManagerRecentTaskInfoTest
      2. atest TaskRecordTests

Change-Id: Ief2538056d414d8317b495ea45d50ccb2dc4518f

packages/SystemUI/legacy/recents/src/com/android/systemui/recents/model/RecentsTaskLoadPlan.java
packages/SystemUI/shared/src/com/android/systemui/shared/recents/model/Task.java

index 7c6a76f..2df79d8 100644 (file)
@@ -113,7 +113,7 @@ public class RecentsTaskLoadPlan {
                     : t.realActivity;
             final int windowingMode = t.configuration.windowConfiguration.getWindowingMode();
             TaskKey taskKey = new TaskKey(t.persistentId, windowingMode, t.baseIntent,
-                    sourceComponent, t.userId, t.lastActiveTime);
+                    sourceComponent, t.userId, t.lastActiveTime, t.displayId);
 
             boolean isFreeformTask = windowingMode == WINDOWING_MODE_FREEFORM;
             boolean isStackTask = !isFreeformTask;
index 7558efa..5b9ee1c 100644 (file)
@@ -16,6 +16,8 @@
 
 package com.android.systemui.shared.recents.model;
 
+import static android.view.Display.DEFAULT_DISPLAY;
+
 import android.app.ActivityManager;
 import android.app.ActivityManager.TaskDescription;
 import android.content.ComponentName;
@@ -62,6 +64,12 @@ public class Task {
         @ViewDebug.ExportedProperty(category="recents")
         public long lastActiveTime;
 
+        /**
+         * The id of the task was running from which display.
+         */
+        @ViewDebug.ExportedProperty(category = "recents")
+        public final int displayId;
+
         // The source component name which started this task
         public final ComponentName sourceComponent;
 
@@ -79,6 +87,7 @@ public class Task {
             this.sourceComponent = sourceComponent;
             this.userId = t.userId;
             this.lastActiveTime = t.lastActiveTime;
+            this.displayId = t.displayId;
             updateHashCode();
         }
 
@@ -90,6 +99,19 @@ public class Task {
             this.sourceComponent = sourceComponent;
             this.userId = userId;
             this.lastActiveTime = lastActiveTime;
+            this.displayId = DEFAULT_DISPLAY;
+            updateHashCode();
+        }
+
+        public TaskKey(int id, int windowingMode, Intent intent,
+                ComponentName sourceComponent, int userId, long lastActiveTime, int displayId) {
+            this.id = id;
+            this.windowingMode = windowingMode;
+            this.baseIntent = intent;
+            this.sourceComponent = sourceComponent;
+            this.userId = userId;
+            this.lastActiveTime = lastActiveTime;
+            this.displayId = displayId;
             updateHashCode();
         }