Loading libs/WindowManager/Jetpack/src/androidx/window/extensions/embedding/TaskFragmentContainer.java +3 −0 Original line number Diff line number Diff line Loading @@ -28,6 +28,7 @@ import android.graphics.Rect; import android.os.Binder; import android.os.Bundle; import android.os.IBinder; import android.util.Log; import android.util.Size; import android.window.TaskFragmentAnimationParams; import android.window.TaskFragmentInfo; Loading Loading @@ -540,6 +541,8 @@ class TaskFragmentContainer { if (mPendingAppearedIntent != null || !mPendingAppearedActivities.isEmpty()) { mAppearEmptyTimeout = () -> { synchronized (mController.mLock) { Log.w(SplitController.TAG, "Fail to wait for activity start in TaskFragment=" + this); mAppearEmptyTimeout = null; // Call without the pass-in wct when timeout. We need to applyWct directly // in this case. Loading services/core/java/com/android/server/wm/ActivityStarter.java +12 −7 Original line number Diff line number Diff line Loading @@ -2826,9 +2826,13 @@ class ActivityStarter { mTargetRootTask = Task.fromWindowContainerToken(mOptions.getLaunchRootTask()); if (inTaskFragment == null) { inTaskFragment = TaskFragment.fromTaskFragmentToken( mOptions.getLaunchTaskFragmentToken(), mService); if (inTaskFragment != null && inTaskFragment.isEmbeddedTaskFragmentInPip()) { final IBinder launchTfToken = mOptions.getLaunchTaskFragmentToken(); if (launchTfToken != null) { inTaskFragment = TaskFragment.fromTaskFragmentToken(launchTfToken, mService); if (inTaskFragment == null) { Slog.e(TAG, "Can not find requested launch TaskFragment: " + launchTfToken); } else if (inTaskFragment.isEmbeddedTaskFragmentInPip()) { // Do not start activity in TaskFragment in a PIP Task. Slog.w(TAG, "Can not start activity in TaskFragment in PIP: " + inTaskFragment); Loading @@ -2836,6 +2840,7 @@ class ActivityStarter { } } } } mNotTop = (mLaunchFlags & FLAG_ACTIVITY_PREVIOUS_IS_TOP) != 0 ? sourceRecord : null; Loading services/core/java/com/android/server/wm/TaskFragment.java +1 −1 Original line number Diff line number Diff line Loading @@ -445,7 +445,7 @@ class TaskFragment extends WindowContainer<WindowContainer> { mRemoteToken = new RemoteToken(this); } @NonNull @Nullable static TaskFragment fromTaskFragmentToken(@Nullable IBinder token, @NonNull ActivityTaskManagerService service) { if (token == null) return null; Loading Loading
libs/WindowManager/Jetpack/src/androidx/window/extensions/embedding/TaskFragmentContainer.java +3 −0 Original line number Diff line number Diff line Loading @@ -28,6 +28,7 @@ import android.graphics.Rect; import android.os.Binder; import android.os.Bundle; import android.os.IBinder; import android.util.Log; import android.util.Size; import android.window.TaskFragmentAnimationParams; import android.window.TaskFragmentInfo; Loading Loading @@ -540,6 +541,8 @@ class TaskFragmentContainer { if (mPendingAppearedIntent != null || !mPendingAppearedActivities.isEmpty()) { mAppearEmptyTimeout = () -> { synchronized (mController.mLock) { Log.w(SplitController.TAG, "Fail to wait for activity start in TaskFragment=" + this); mAppearEmptyTimeout = null; // Call without the pass-in wct when timeout. We need to applyWct directly // in this case. Loading
services/core/java/com/android/server/wm/ActivityStarter.java +12 −7 Original line number Diff line number Diff line Loading @@ -2826,9 +2826,13 @@ class ActivityStarter { mTargetRootTask = Task.fromWindowContainerToken(mOptions.getLaunchRootTask()); if (inTaskFragment == null) { inTaskFragment = TaskFragment.fromTaskFragmentToken( mOptions.getLaunchTaskFragmentToken(), mService); if (inTaskFragment != null && inTaskFragment.isEmbeddedTaskFragmentInPip()) { final IBinder launchTfToken = mOptions.getLaunchTaskFragmentToken(); if (launchTfToken != null) { inTaskFragment = TaskFragment.fromTaskFragmentToken(launchTfToken, mService); if (inTaskFragment == null) { Slog.e(TAG, "Can not find requested launch TaskFragment: " + launchTfToken); } else if (inTaskFragment.isEmbeddedTaskFragmentInPip()) { // Do not start activity in TaskFragment in a PIP Task. Slog.w(TAG, "Can not start activity in TaskFragment in PIP: " + inTaskFragment); Loading @@ -2836,6 +2840,7 @@ class ActivityStarter { } } } } mNotTop = (mLaunchFlags & FLAG_ACTIVITY_PREVIOUS_IS_TOP) != 0 ? sourceRecord : null; Loading
services/core/java/com/android/server/wm/TaskFragment.java +1 −1 Original line number Diff line number Diff line Loading @@ -445,7 +445,7 @@ class TaskFragment extends WindowContainer<WindowContainer> { mRemoteToken = new RemoteToken(this); } @NonNull @Nullable static TaskFragment fromTaskFragmentToken(@Nullable IBinder token, @NonNull ActivityTaskManagerService service) { if (token == null) return null; Loading