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

Commit b4e4fc3a authored by Winson Chung's avatar Winson Chung Committed by Android (Google) Code Review
Browse files

Merge "Expose the source component which launched this task." into pi-dev

parents d8269005 90ce3f46
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@ import static android.app.WindowConfiguration.WINDOWING_MODE_FREEFORM;

import android.app.ActivityManager;
import android.app.KeyguardManager;
import android.content.ComponentName;
import android.content.Context;
import android.content.pm.ActivityInfo;
import android.content.pm.ApplicationInfo;
@@ -102,9 +103,14 @@ public class RecentsTaskLoadPlan {
            ActivityManager.RecentTaskInfo t = mRawTasks.get(i);

            // Compose the task key
            final ComponentName sourceComponent = t.origActivity != null
                    // Activity alias if there is one
                    ? t.origActivity
                    // The real activity if there is no alias (or the target if there is one)
                    : t.realActivity;
            final int windowingMode = t.configuration.windowConfiguration.getWindowingMode();
            TaskKey taskKey = new TaskKey(t.persistentId, windowingMode, t.baseIntent,
                    t.userId, t.lastActiveTime);
                    sourceComponent, t.userId, t.lastActiveTime);

            boolean isFreeformTask = windowingMode == WINDOWING_MODE_FREEFORM;
            boolean isStackTask = !isFreeformTask;
+6 −1
Original line number Diff line number Diff line
@@ -60,12 +60,17 @@ public class Task {
        @ViewDebug.ExportedProperty(category="recents")
        public long lastActiveTime;

        // The source component name which started this task
        public final ComponentName sourceComponent;

        private int mHashCode;

        public TaskKey(int id, int windowingMode, Intent intent, int userId, long lastActiveTime) {
        public TaskKey(int id, int windowingMode, Intent intent,
                ComponentName sourceComponent, int userId, long lastActiveTime) {
            this.id = id;
            this.windowingMode = windowingMode;
            this.baseIntent = intent;
            this.sourceComponent = sourceComponent;
            this.userId = userId;
            this.lastActiveTime = lastActiveTime;
            updateHashCode();
+2 −1
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@ import static org.mockito.Mockito.never;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;

import android.content.ComponentName;
import android.os.Looper;
import android.support.test.filters.SmallTest;
import android.support.test.runner.AndroidJUnit4;
@@ -61,7 +62,7 @@ public class HighResThumbnailLoaderTest extends SysuiSharedLibTestCase {
        MockitoAnnotations.initMocks(this);
        mLoader = new HighResThumbnailLoader(mMockActivityManagerWrapper, Looper.getMainLooper(),
                false /* reducedResolution */);
        mTask.key = new TaskKey(0, WINDOWING_MODE_UNDEFINED, null, 0, 0);
        mTask.key = new TaskKey(0, WINDOWING_MODE_UNDEFINED, null, null, 0, 0);
        when(mMockActivityManagerWrapper.getTaskThumbnail(anyInt(), anyBoolean()))
                .thenReturn(mThumbnailData);
        mLoader.setVisible(true);