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

Commit 42fe2c69 authored by Charles Chen's avatar Charles Chen Committed by Android (Google) Code Review
Browse files

Merge "Pass token to ActivityStack and SplitInfo"

parents a3783bcb 84c263e8
Loading
Loading
Loading
Loading
+22 −0
Original line number Diff line number Diff line
@@ -25,6 +25,7 @@ import android.hardware.devicestate.DeviceStateRequest;
import android.util.ArraySet;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.window.extensions.core.util.function.Consumer;

import com.android.internal.R;
@@ -185,6 +186,27 @@ public class WindowAreaComponentImpl implements WindowAreaComponent,
        }
    }

    @Override
    public void addRearDisplayPresentationStatusListener(
            @NonNull Consumer<ExtensionWindowAreaStatus> consumer) {}

    @Override
    public void removeRearDisplayPresentationStatusListener(
            @NonNull Consumer<ExtensionWindowAreaStatus> consumer) {}

    @Override
    public void startRearDisplayPresentationSession(@NonNull Activity activity,
            @NonNull Consumer<@WindowAreaSessionState Integer> consumer) {}

    @Override
    public void endRearDisplayPresentationSession() {}

    @Override
    @Nullable
    public ExtensionWindowAreaPresentation getRearDisplayPresentation() {
        return null;
    }

    @GuardedBy("mLock")
    private int getCurrentStatus() {
        if (mRearDisplaySessionStatus == WindowAreaComponent.SESSION_STATE_ACTIVE
+11 −2
Original line number Diff line number Diff line
@@ -17,7 +17,8 @@
package androidx.window.extensions.embedding;

import android.app.Activity;
import android.content.res.Configuration;
import android.os.Binder;
import android.os.IBinder;
import android.util.Pair;
import android.util.Size;
import android.window.WindowContainerTransaction;
@@ -36,6 +37,8 @@ class SplitContainer {
    private final SplitRule mSplitRule;
    @NonNull
    private SplitAttributes mSplitAttributes;
    @NonNull
    private final IBinder mToken;

    SplitContainer(@NonNull TaskFragmentContainer primaryContainer,
            @NonNull Activity primaryActivity,
@@ -46,6 +49,7 @@ class SplitContainer {
        mSecondaryContainer = secondaryContainer;
        mSplitRule = splitRule;
        mSplitAttributes = splitAttributes;
        mToken = new Binder("SplitContainer");

        if (shouldFinishPrimaryWithSecondary(splitRule)) {
            if (mPrimaryContainer.getRunningActivityCount() == 1
@@ -83,6 +87,11 @@ class SplitContainer {
        return mSplitAttributes;
    }

    @NonNull
    IBinder getToken() {
        return mToken;
    }

    /**
     * Updates the {@link SplitAttributes} to this container.
     * It is usually used when there's a folding state change or
@@ -112,7 +121,7 @@ class SplitContainer {
    @NonNull
    SplitInfo toSplitInfo() {
        return new SplitInfo(mPrimaryContainer.toActivityStack(),
                mSecondaryContainer.toActivityStack(), mSplitAttributes);
                mSecondaryContainer.toActivityStack(), mSplitAttributes, mToken);
    }

    static boolean shouldFinishPrimaryWithSecondary(@NonNull SplitRule splitRule) {
+1 −1
Original line number Diff line number Diff line
@@ -243,7 +243,7 @@ class TaskFragmentContainer {

    @NonNull
    ActivityStack toActivityStack() {
        return new ActivityStack(collectNonFinishingActivities(), isEmpty());
        return new ActivityStack(collectNonFinishingActivities(), isEmpty(), mToken);
    }

    /** Adds the activity that will be reparented to this container. */