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

Commit 801803c1 authored by Daniel Akinola's avatar Daniel Akinola Committed by Android (Google) Code Review
Browse files

Merge "Revert "Allow recent apps to be launched with split screen pair ..."" into 24D1-dev

parents 1efba88d f3e2b00b
Loading
Loading
Loading
Loading
+0 −11
Original line number Diff line number Diff line
@@ -18,15 +18,10 @@ package com.android.wm.shell.splitscreen;

import android.annotation.IntDef;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.app.ActivityManager;
import android.graphics.Rect;
import android.os.Bundle;
import android.window.RemoteTransition;

import com.android.wm.shell.common.annotations.ExternalThread;
import com.android.internal.logging.InstanceId;
import com.android.wm.shell.common.split.SplitScreenConstants.PersistentSnapPosition;
import com.android.wm.shell.common.split.SplitScreenConstants.SplitPosition;

import java.util.concurrent.Executor;
@@ -79,12 +74,6 @@ public interface SplitScreen {
        }
    }

    /** Launches a pair of tasks into splitscreen */
    void startTasks(int taskId1, @Nullable Bundle options1, int taskId2,
            @Nullable Bundle options2, @SplitPosition int splitPosition,
            @PersistentSnapPosition int snapPosition, @Nullable RemoteTransition remoteTransition,
            InstanceId instanceId);

    /** Registers listener that gets split screen callback. */
    void registerSplitScreenListener(@NonNull SplitScreenListener listener,
            @NonNull Executor executor);
+0 −18
Original line number Diff line number Diff line
@@ -494,15 +494,6 @@ public class SplitScreenController implements DragAndDropPolicy.Starter,
        return mStageCoordinator.getActivateSplitPosition(taskInfo);
    }

    /** Start two tasks in parallel as a splitscreen pair. */
    public void startTasks(int taskId1, @Nullable Bundle options1, int taskId2,
            @Nullable Bundle options2, @SplitPosition int splitPosition,
            @PersistentSnapPosition int snapPosition,
            @Nullable RemoteTransition remoteTransition, InstanceId instanceId) {
        mStageCoordinator.startTasks(taskId1, options1, taskId2, options2, splitPosition,
                snapPosition, remoteTransition, instanceId);
    }

    /**
     * Move a task to split select
     * @param taskInfo the task being moved to split select
@@ -1114,15 +1105,6 @@ public class SplitScreenController implements DragAndDropPolicy.Starter,
            }
        };

        @Override
        public void startTasks(int taskId1, @Nullable Bundle options1, int taskId2,
                @Nullable Bundle options2, int splitPosition, int snapPosition,
                @Nullable RemoteTransition remoteTransition, InstanceId instanceId) {
            mMainExecutor.execute(() -> SplitScreenController.this.startTasks(
                    taskId1, options1, taskId2, options2, splitPosition, snapPosition,
                    remoteTransition, instanceId));
        }

        @Override
        public void registerSplitScreenListener(SplitScreenListener listener, Executor executor) {
            if (mExecutors.containsKey(listener)) return;
+1 −11
Original line number Diff line number Diff line
@@ -115,17 +115,7 @@ flag {
}

flag {
   name: "pss_app_selector_recents_split_screen"
   namespace: "systemui"
   description: "Allows recent apps selected for partial screenshare to be launched in split screen mode"
   bug: "320449039"
   metadata {
        purpose: PURPOSE_BUGFIX
   }
}

flag {
    name: "notifications_background_icons"
    name: "notifications_background_media_icons"
    namespace: "systemui"
    description: "Updates icons for media notifications in the background."
    bug: "315143160"
+0 −29
Original line number Diff line number Diff line
@@ -18,9 +18,7 @@ package com.android.systemui.mediaprojection.appselector.data

import android.annotation.ColorInt
import android.annotation.UserIdInt
import android.app.ActivityManager.RecentTaskInfo
import android.content.ComponentName
import com.android.wm.shell.util.SplitBounds

data class RecentTask(
    val taskId: Int,
@@ -31,30 +29,3 @@ data class RecentTask(
    @ColorInt val colorBackground: Int?,
    val isForegroundTask: Boolean,
)
    val userType: UserType,
    val splitBounds: SplitBounds?,
) {
    constructor(
        taskInfo: RecentTaskInfo,
        isForegroundTask: Boolean,
        userType: UserType,
        splitBounds: SplitBounds? = null
    ) : this(
        taskInfo.taskId,
        taskInfo.displayId,
        taskInfo.userId,
        taskInfo.topActivity,
        taskInfo.baseIntent?.component,
        taskInfo.taskDescription?.backgroundColor,
        isForegroundTask,
        userType,
        splitBounds
    )

    enum class UserType {
        STANDARD,
        WORK,
        PRIVATE,
        CLONED
    }
}
+4 −19
Original line number Diff line number Diff line
@@ -55,8 +55,9 @@ constructor(
            val foregroundTaskId1 = foregroundGroup?.taskInfo1?.taskId
            val foregroundTaskId2 = foregroundGroup?.taskInfo2?.taskId
            val foregroundTaskIds = listOfNotNull(foregroundTaskId1, foregroundTaskId2)
            groupedTasks.flatMap {
                val task1 =
            groupedTasks
                .flatMap { listOfNotNull(it.taskInfo1, it.taskInfo2) }
                .map {
                    RecentTask(
                        it.taskId,
                        it.displayId,
@@ -65,23 +66,7 @@ constructor(
                        it.baseIntent?.component,
                        it.taskDescription?.backgroundColor,
                        isForegroundTask = it.taskId in foregroundTaskIds && it.isVisible
                        it.taskInfo1,
                        it.taskInfo1.taskId in foregroundTaskIds && it.taskInfo1.isVisible,
                        userManager.getUserInfo(it.taskInfo1.userId).toUserType(),
                        it.splitBounds
                    )

                val task2 =
                    if (it.taskInfo2 != null) {
                        RecentTask(
                            it.taskInfo2!!,
                            it.taskInfo2!!.taskId in foregroundTaskIds && it.taskInfo2!!.isVisible,
                            userManager.getUserInfo(it.taskInfo2!!.userId).toUserType(),
                            it.splitBounds
                        )
                    } else null

                listOfNotNull(task1, task2)
                }
        }

Loading