Loading quickstep/src/com/android/quickstep/RecentsModel.java +3 −1 Original line number Diff line number Diff line Loading @@ -15,6 +15,8 @@ */ package com.android.quickstep; import static com.android.quickstep.TaskUtils.checkCurrentOrManagedUserId; import android.annotation.TargetApi; import android.app.ActivityManager; import android.content.ComponentCallbacks2; Loading Loading @@ -190,7 +192,7 @@ public class RecentsModel extends TaskStackChangeListener { @Override public void onTaskStackChangedBackground() { int userId = UserHandle.myUserId(); if (!mPreloadTasksInBackground || !checkCurrentUserId(userId, false /* debug */)) { if (!mPreloadTasksInBackground || !checkCurrentOrManagedUserId(userId, mContext)) { // TODO: Only register this for the current user return; } Loading quickstep/src/com/android/quickstep/TaskUtils.java +15 −0 Original line number Diff line number Diff line Loading @@ -47,6 +47,8 @@ import com.android.quickstep.views.TaskView; import com.android.systemui.shared.recents.model.Task; import com.android.systemui.shared.system.RemoteAnimationTargetCompat; import java.util.List; /** * Contains helpful methods for retrieving data from {@link Task}s. */ Loading Loading @@ -207,4 +209,17 @@ public class TaskUtils { } return false; } public static boolean checkCurrentOrManagedUserId(int currentUserId, Context context) { if (currentUserId == UserHandle.myUserId()) { return true; } List<UserHandle> allUsers = UserManagerCompat.getInstance(context).getUserProfiles(); for (int i = allUsers.size() - 1; i >= 0; i--) { if (currentUserId == allUsers.get(i).getIdentifier()) { return true; } } return false; } } quickstep/src/com/android/quickstep/views/RecentsView.java +21 −16 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ import static com.android.launcher3.anim.Interpolators.ACCEL; import static com.android.launcher3.anim.Interpolators.ACCEL_2; import static com.android.launcher3.anim.Interpolators.FAST_OUT_SLOW_IN; import static com.android.launcher3.anim.Interpolators.LINEAR; import static com.android.quickstep.TaskUtils.checkCurrentOrManagedUserId; import android.animation.Animator; import android.animation.AnimatorSet; Loading Loading @@ -123,13 +124,19 @@ public abstract class RecentsView<T extends BaseActivity> extends PagedView impl private final TaskStackChangeListener mTaskStackListener = new TaskStackChangeListener() { @Override public void onTaskSnapshotChanged(int taskId, ThumbnailData snapshot) { if (!mHandleTaskStackChanges) { return; } updateThumbnail(taskId, snapshot); } @Override public void onActivityPinned(String packageName, int userId, int taskId, int stackId) { if (!mHandleTaskStackChanges) { return; } // Check this is for the right user if (!checkCurrentUserId(userId, false /* debug */)) { if (!checkCurrentOrManagedUserId(userId, getContext())) { return; } Loading @@ -142,20 +149,24 @@ public abstract class RecentsView<T extends BaseActivity> extends PagedView impl @Override public void onActivityUnpinned() { if (!mHandleTaskStackChanges) { return; } // TODO: Re-enable layout transitions for addition of the unpinned task reloadIfNeeded(); } @Override public void onTaskRemoved(int taskId) { if (!mHandleTaskStackChanges) { return; } TaskView taskView = getTaskView(taskId); if (taskView != null) { dismissTask(taskView, true /* animate */, false /* removeTask */); } } }; private TaskStackChangeListener mTaskStackClearFlagListener = new TaskStackChangeListener() { @Override public void onPinnedStackAnimationStarted() { // Needed for activities that auto-enter PiP, which will not trigger a remote Loading @@ -174,7 +185,7 @@ public abstract class RecentsView<T extends BaseActivity> extends PagedView impl private boolean mRunningTaskIconScaledDown = false; private boolean mOverviewStateEnabled; private boolean mTaskStackListenerRegistered; private boolean mHandleTaskStackChanges; private Runnable mNextPageSwitchRunnable; private boolean mSwipeDownShouldLaunchApp; Loading Loading @@ -261,7 +272,7 @@ public abstract class RecentsView<T extends BaseActivity> extends PagedView impl super.onAttachedToWindow(); updateTaskStackListenerState(); mActivity.addMultiWindowModeChangedListener(mMultiWindowModeChangedListener); ActivityManagerWrapper.getInstance().registerTaskStackListener(mTaskStackClearFlagListener); ActivityManagerWrapper.getInstance().registerTaskStackListener(mTaskStackListener); } @Override Loading @@ -269,8 +280,7 @@ public abstract class RecentsView<T extends BaseActivity> extends PagedView impl super.onDetachedFromWindow(); updateTaskStackListenerState(); mActivity.removeMultiWindowModeChangedListener(mMultiWindowModeChangedListener); ActivityManagerWrapper.getInstance().unregisterTaskStackListener( mTaskStackClearFlagListener); ActivityManagerWrapper.getInstance().unregisterTaskStackListener(mTaskStackListener); } @Override Loading Loading @@ -434,18 +444,13 @@ public abstract class RecentsView<T extends BaseActivity> extends PagedView impl } private void updateTaskStackListenerState() { boolean registerStackListener = mOverviewStateEnabled && isAttachedToWindow() boolean handleTaskStackChanges = mOverviewStateEnabled && isAttachedToWindow() && getWindowVisibility() == VISIBLE; if (registerStackListener != mTaskStackListenerRegistered) { if (registerStackListener) { ActivityManagerWrapper.getInstance() .registerTaskStackListener(mTaskStackListener); if (handleTaskStackChanges != mHandleTaskStackChanges) { mHandleTaskStackChanges = handleTaskStackChanges; if (handleTaskStackChanges) { reloadIfNeeded(); } else { ActivityManagerWrapper.getInstance() .unregisterTaskStackListener(mTaskStackListener); } mTaskStackListenerRegistered = registerStackListener; } } Loading Loading
quickstep/src/com/android/quickstep/RecentsModel.java +3 −1 Original line number Diff line number Diff line Loading @@ -15,6 +15,8 @@ */ package com.android.quickstep; import static com.android.quickstep.TaskUtils.checkCurrentOrManagedUserId; import android.annotation.TargetApi; import android.app.ActivityManager; import android.content.ComponentCallbacks2; Loading Loading @@ -190,7 +192,7 @@ public class RecentsModel extends TaskStackChangeListener { @Override public void onTaskStackChangedBackground() { int userId = UserHandle.myUserId(); if (!mPreloadTasksInBackground || !checkCurrentUserId(userId, false /* debug */)) { if (!mPreloadTasksInBackground || !checkCurrentOrManagedUserId(userId, mContext)) { // TODO: Only register this for the current user return; } Loading
quickstep/src/com/android/quickstep/TaskUtils.java +15 −0 Original line number Diff line number Diff line Loading @@ -47,6 +47,8 @@ import com.android.quickstep.views.TaskView; import com.android.systemui.shared.recents.model.Task; import com.android.systemui.shared.system.RemoteAnimationTargetCompat; import java.util.List; /** * Contains helpful methods for retrieving data from {@link Task}s. */ Loading Loading @@ -207,4 +209,17 @@ public class TaskUtils { } return false; } public static boolean checkCurrentOrManagedUserId(int currentUserId, Context context) { if (currentUserId == UserHandle.myUserId()) { return true; } List<UserHandle> allUsers = UserManagerCompat.getInstance(context).getUserProfiles(); for (int i = allUsers.size() - 1; i >= 0; i--) { if (currentUserId == allUsers.get(i).getIdentifier()) { return true; } } return false; } }
quickstep/src/com/android/quickstep/views/RecentsView.java +21 −16 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ import static com.android.launcher3.anim.Interpolators.ACCEL; import static com.android.launcher3.anim.Interpolators.ACCEL_2; import static com.android.launcher3.anim.Interpolators.FAST_OUT_SLOW_IN; import static com.android.launcher3.anim.Interpolators.LINEAR; import static com.android.quickstep.TaskUtils.checkCurrentOrManagedUserId; import android.animation.Animator; import android.animation.AnimatorSet; Loading Loading @@ -123,13 +124,19 @@ public abstract class RecentsView<T extends BaseActivity> extends PagedView impl private final TaskStackChangeListener mTaskStackListener = new TaskStackChangeListener() { @Override public void onTaskSnapshotChanged(int taskId, ThumbnailData snapshot) { if (!mHandleTaskStackChanges) { return; } updateThumbnail(taskId, snapshot); } @Override public void onActivityPinned(String packageName, int userId, int taskId, int stackId) { if (!mHandleTaskStackChanges) { return; } // Check this is for the right user if (!checkCurrentUserId(userId, false /* debug */)) { if (!checkCurrentOrManagedUserId(userId, getContext())) { return; } Loading @@ -142,20 +149,24 @@ public abstract class RecentsView<T extends BaseActivity> extends PagedView impl @Override public void onActivityUnpinned() { if (!mHandleTaskStackChanges) { return; } // TODO: Re-enable layout transitions for addition of the unpinned task reloadIfNeeded(); } @Override public void onTaskRemoved(int taskId) { if (!mHandleTaskStackChanges) { return; } TaskView taskView = getTaskView(taskId); if (taskView != null) { dismissTask(taskView, true /* animate */, false /* removeTask */); } } }; private TaskStackChangeListener mTaskStackClearFlagListener = new TaskStackChangeListener() { @Override public void onPinnedStackAnimationStarted() { // Needed for activities that auto-enter PiP, which will not trigger a remote Loading @@ -174,7 +185,7 @@ public abstract class RecentsView<T extends BaseActivity> extends PagedView impl private boolean mRunningTaskIconScaledDown = false; private boolean mOverviewStateEnabled; private boolean mTaskStackListenerRegistered; private boolean mHandleTaskStackChanges; private Runnable mNextPageSwitchRunnable; private boolean mSwipeDownShouldLaunchApp; Loading Loading @@ -261,7 +272,7 @@ public abstract class RecentsView<T extends BaseActivity> extends PagedView impl super.onAttachedToWindow(); updateTaskStackListenerState(); mActivity.addMultiWindowModeChangedListener(mMultiWindowModeChangedListener); ActivityManagerWrapper.getInstance().registerTaskStackListener(mTaskStackClearFlagListener); ActivityManagerWrapper.getInstance().registerTaskStackListener(mTaskStackListener); } @Override Loading @@ -269,8 +280,7 @@ public abstract class RecentsView<T extends BaseActivity> extends PagedView impl super.onDetachedFromWindow(); updateTaskStackListenerState(); mActivity.removeMultiWindowModeChangedListener(mMultiWindowModeChangedListener); ActivityManagerWrapper.getInstance().unregisterTaskStackListener( mTaskStackClearFlagListener); ActivityManagerWrapper.getInstance().unregisterTaskStackListener(mTaskStackListener); } @Override Loading Loading @@ -434,18 +444,13 @@ public abstract class RecentsView<T extends BaseActivity> extends PagedView impl } private void updateTaskStackListenerState() { boolean registerStackListener = mOverviewStateEnabled && isAttachedToWindow() boolean handleTaskStackChanges = mOverviewStateEnabled && isAttachedToWindow() && getWindowVisibility() == VISIBLE; if (registerStackListener != mTaskStackListenerRegistered) { if (registerStackListener) { ActivityManagerWrapper.getInstance() .registerTaskStackListener(mTaskStackListener); if (handleTaskStackChanges != mHandleTaskStackChanges) { mHandleTaskStackChanges = handleTaskStackChanges; if (handleTaskStackChanges) { reloadIfNeeded(); } else { ActivityManagerWrapper.getInstance() .unregisterTaskStackListener(mTaskStackListener); } mTaskStackListenerRegistered = registerStackListener; } } Loading