Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2dd76946 authored by Winson's avatar Winson Committed by Winson Chung
Browse files

Reporting task bounds in RecentTaskInfo.

Change-Id: I8e88d1aca5fa0ee316e93afe4fb63264e2d338f0
parent 2858bd2e
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -1016,6 +1016,12 @@ public class ActivityManager {
         */
        public int numActivities;

        /**
         * The bounds of the task.
         * @hide
         */
        public Rect bounds;

        public RecentTaskInfo() {
        }

@@ -1053,6 +1059,12 @@ public class ActivityManager {
            ComponentName.writeToParcel(baseActivity, dest);
            ComponentName.writeToParcel(topActivity, dest);
            dest.writeInt(numActivities);
            if (bounds != null) {
                dest.writeInt(1);
                bounds.writeToParcel(dest, 0);
            } else {
                dest.writeInt(0);
            }
        }

        public void readFromParcel(Parcel source) {
@@ -1073,6 +1085,8 @@ public class ActivityManager {
            baseActivity = ComponentName.readFromParcel(source);
            topActivity = ComponentName.readFromParcel(source);
            numActivities = source.readInt();
            bounds = source.readInt() > 0 ?
                    Rect.CREATOR.createFromParcel(source) : null;
        }

        public static final Creator<RecentTaskInfo> CREATOR
+4 −2
Original line number Diff line number Diff line
@@ -133,9 +133,11 @@ public class RecentsTaskLoadPlan {
            Task task = new Task(taskKey, (t.id != INVALID_TASK_ID), t.affiliatedTaskId,
                    t.affiliatedTaskColor, activityLabel, contentDescription, activityIcon,
                    activityColor, (i == (taskCount - 1)), config.lockToAppEnabled, icon,
                    iconFilename);
                    iconFilename, t.bounds);
            task.thumbnail = loader.getAndUpdateThumbnail(taskKey, ssp, false);
            if (DEBUG) Log.d(TAG, "\tthumbnail: " + taskKey + ", " + task.thumbnail);
            if (DEBUG) {
                Log.d(TAG, activityLabel + " bounds: " + t.bounds);
            }

            if (task.isFreeformTask()) {
                freeformTasks.add(task);
+4 −1
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@ import android.content.ComponentName;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.Color;
import android.graphics.Rect;
import android.graphics.drawable.Drawable;
import com.android.systemui.recents.misc.Utilities;

@@ -105,6 +106,7 @@ public class Task {
    public boolean lockToTaskEnabled;
    public Bitmap icon;
    public String iconFilename;
    public Rect bounds;

    private TaskCallbacks mCb;

@@ -115,7 +117,7 @@ public class Task {
    public Task(TaskKey key, boolean isActive, int taskAffiliation, int taskAffiliationColor,
                String activityTitle, String contentDescription, Drawable activityIcon,
                int colorPrimary, boolean lockToThisTask, boolean lockToTaskEnabled, Bitmap icon,
                String iconFilename) {
                String iconFilename, Rect bounds) {
        boolean isInAffiliationGroup = (taskAffiliation != key.id);
        boolean hasAffiliationGroupColor = isInAffiliationGroup && (taskAffiliationColor != 0);
        this.key = key;
@@ -132,6 +134,7 @@ public class Task {
        this.lockToTaskEnabled = lockToTaskEnabled;
        this.icon = icon;
        this.iconFilename = iconFilename;
        this.bounds = bounds;
    }

    /** Copies the other task. */
+3 −0
Original line number Diff line number Diff line
@@ -8362,6 +8362,9 @@ public final class ActivityManagerService extends ActivityManagerNative
        rti.affiliatedTaskId = tr.mAffiliatedTaskId;
        rti.affiliatedTaskColor = tr.mAffiliatedTaskColor;
        rti.numActivities = 0;
        if (tr.mBounds != null) {
            rti.bounds = new Rect(tr.mBounds);
        }
        ActivityRecord base = null;
        ActivityRecord top = null;