Loading quickstep/recents_ui_overrides/src/com/android/quickstep/TaskOverlayFactory.java +12 −5 Original line number Diff line number Diff line Loading @@ -18,7 +18,6 @@ package com.android.quickstep; import static android.view.Surface.ROTATION_0; import static com.android.launcher3.util.MainThreadInitializedObject.forOverride; import static com.android.quickstep.views.OverviewActionsView.DISABLED_NO_THUMBNAIL; import static com.android.quickstep.views.OverviewActionsView.DISABLED_ROTATED; Loading @@ -39,7 +38,6 @@ import com.android.launcher3.R; import com.android.launcher3.model.data.ItemInfo; import com.android.launcher3.model.data.WorkspaceItemInfo; import com.android.launcher3.popup.SystemShortcut; import com.android.launcher3.util.MainThreadInitializedObject; import com.android.launcher3.util.ResourceBasedOverride; import com.android.quickstep.util.RecentsOrientedState; import com.android.quickstep.views.OverviewActionsView; Loading Loading @@ -90,13 +88,22 @@ public class TaskOverlayFactory implements ResourceBasedOverride { return shortcuts; } public static final MainThreadInitializedObject<TaskOverlayFactory> INSTANCE = forOverride(TaskOverlayFactory.class, R.string.task_overlay_factory_class); public TaskOverlay createOverlay(TaskThumbnailView thumbnailView) { return new TaskOverlay(thumbnailView); } /** * Subclasses can attach any system listeners in this method, must be paired with * {@link #removeListeners()} */ public void initListeners() { } /** * Subclasses should remove any system listeners in this method, must be paired with * {@link #initListeners()} */ public void removeListeners() { } /** Note that these will be shown in order from top to bottom, if available for the task. */ private static final TaskShortcutFactory[] MENU_OPTIONS = new TaskShortcutFactory[]{ TaskShortcutFactory.APP_INFO, Loading quickstep/recents_ui_overrides/src/com/android/quickstep/views/RecentsView.java +15 −0 Original line number Diff line number Diff line Loading @@ -117,6 +117,7 @@ import com.android.launcher3.util.ComponentKey; import com.android.launcher3.util.DynamicResource; import com.android.launcher3.util.MultiValueAlpha; import com.android.launcher3.util.OverScroller; import com.android.launcher3.util.ResourceBasedOverride.Overrides; import com.android.launcher3.util.Themes; import com.android.launcher3.util.ViewPool; import com.android.quickstep.BaseActivityInterface; Loading @@ -125,6 +126,7 @@ import com.android.quickstep.RecentsAnimationTargets; import com.android.quickstep.RecentsModel; import com.android.quickstep.RecentsModel.TaskVisualsChangeListener; import com.android.quickstep.SystemUiProxy; import com.android.quickstep.TaskOverlayFactory; import com.android.quickstep.TaskThumbnailCache; import com.android.quickstep.TaskUtils; import com.android.quickstep.ViewUtils; Loading Loading @@ -279,6 +281,8 @@ public abstract class RecentsView<T extends StatefulActivity> extends PagedView private final ViewPool<TaskView> mTaskViewPool; private final TaskOverlayFactory mTaskOverlayFactory; private boolean mDwbToastShown; protected boolean mDisallowScrollToClearAll; private boolean mOverlayEnabled; Loading Loading @@ -466,6 +470,11 @@ public abstract class RecentsView<T extends StatefulActivity> extends PagedView updateEmptyMessage(); mOrientationHandler = mOrientationState.getOrientationHandler(); mTaskOverlayFactory = Overrides.getObject( TaskOverlayFactory.class, context.getApplicationContext(), R.string.task_overlay_factory_class); // Initialize quickstep specific cache params here, as this is constructed only once mActivity.getViewCache().setCacheSize(R.layout.digital_wellbeing_toast, 5); } Loading Loading @@ -559,6 +568,7 @@ public abstract class RecentsView<T extends StatefulActivity> extends PagedView mIPinnedStackAnimationListener); mOrientationState.initListeners(); SplitScreenBounds.INSTANCE.addOnChangeListener(this); mTaskOverlayFactory.initListeners(); } @Override Loading @@ -575,6 +585,7 @@ public abstract class RecentsView<T extends StatefulActivity> extends PagedView SplitScreenBounds.INSTANCE.removeOnChangeListener(this); mIPinnedStackAnimationListener.setActivity(null); mOrientationState.destroyListeners(); mTaskOverlayFactory.removeListeners(); } @Override Loading Loading @@ -2431,6 +2442,10 @@ public abstract class RecentsView<T extends StatefulActivity> extends PagedView */ public void setModalStateEnabled(boolean isModalState) { } public TaskOverlayFactory getTaskOverlayFactory() { return mTaskOverlayFactory; } public BaseActivityInterface getSizeStrategy() { return mSizeStrategy; } Loading quickstep/recents_ui_overrides/src/com/android/quickstep/views/TaskThumbnailView.java +8 −7 Original line number Diff line number Diff line Loading @@ -52,7 +52,6 @@ import com.android.launcher3.uioverrides.plugins.PluginManagerWrapper; import com.android.launcher3.util.MainThreadInitializedObject; import com.android.launcher3.util.SystemUiController; import com.android.launcher3.util.Themes; import com.android.quickstep.TaskOverlayFactory; import com.android.quickstep.TaskOverlayFactory.TaskOverlay; import com.android.quickstep.views.TaskView.FullscreenDrawParams; import com.android.systemui.plugins.OverviewScreenshotActions; Loading Loading @@ -85,7 +84,7 @@ public class TaskThumbnailView extends View implements PluginListener<OverviewSc }; private final BaseActivity mActivity; private final TaskOverlay mOverlay; private TaskOverlay mOverlay; private final boolean mIsDarkTextTheme; private final Paint mPaint = new Paint(Paint.ANTI_ALIAS_FLAG); private final Paint mBackgroundPaint = new Paint(Paint.ANTI_ALIAS_FLAG); Loading Loading @@ -118,7 +117,6 @@ public class TaskThumbnailView extends View implements PluginListener<OverviewSc public TaskThumbnailView(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); mOverlay = TaskOverlayFactory.INSTANCE.get(context).createOverlay(this); mPaint.setFilterBitmap(true); mBackgroundPaint.setColor(Color.WHITE); mClearPaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.CLEAR)); Loading @@ -134,7 +132,7 @@ public class TaskThumbnailView extends View implements PluginListener<OverviewSc * @param task */ public void bind(Task task) { mOverlay.reset(); getTaskOverlay().reset(); mTask = task; int color = task == null ? Color.BLACK : task.colorBackground | 0xFF000000; mPaint.setColor(color); Loading Loading @@ -176,7 +174,7 @@ public class TaskThumbnailView extends View implements PluginListener<OverviewSc mBitmapShader = null; mThumbnailData = null; mPaint.setShader(null); mOverlay.reset(); getTaskOverlay().reset(); } if (mOverviewScreenshotActionsPlugin != null) { mOverviewScreenshotActionsPlugin.setupActions(getTaskView(), getThumbnail(), mActivity); Loading @@ -200,6 +198,9 @@ public class TaskThumbnailView extends View implements PluginListener<OverviewSc } public TaskOverlay getTaskOverlay() { if (mOverlay == null) { mOverlay = getTaskView().getRecentsView().getTaskOverlayFactory().createOverlay(this); } return mOverlay; } Loading Loading @@ -357,10 +358,10 @@ public class TaskThumbnailView extends View implements PluginListener<OverviewSc private void updateOverlay() { if (mOverlayEnabled) { mOverlay.initOverlay(mTask, mThumbnailData, mPreviewPositionHelper.mMatrix, getTaskOverlay().initOverlay(mTask, mThumbnailData, mPreviewPositionHelper.mMatrix, mPreviewPositionHelper.mIsOrientationChanged); } else { mOverlay.reset(); getTaskOverlay().reset(); } } Loading Loading
quickstep/recents_ui_overrides/src/com/android/quickstep/TaskOverlayFactory.java +12 −5 Original line number Diff line number Diff line Loading @@ -18,7 +18,6 @@ package com.android.quickstep; import static android.view.Surface.ROTATION_0; import static com.android.launcher3.util.MainThreadInitializedObject.forOverride; import static com.android.quickstep.views.OverviewActionsView.DISABLED_NO_THUMBNAIL; import static com.android.quickstep.views.OverviewActionsView.DISABLED_ROTATED; Loading @@ -39,7 +38,6 @@ import com.android.launcher3.R; import com.android.launcher3.model.data.ItemInfo; import com.android.launcher3.model.data.WorkspaceItemInfo; import com.android.launcher3.popup.SystemShortcut; import com.android.launcher3.util.MainThreadInitializedObject; import com.android.launcher3.util.ResourceBasedOverride; import com.android.quickstep.util.RecentsOrientedState; import com.android.quickstep.views.OverviewActionsView; Loading Loading @@ -90,13 +88,22 @@ public class TaskOverlayFactory implements ResourceBasedOverride { return shortcuts; } public static final MainThreadInitializedObject<TaskOverlayFactory> INSTANCE = forOverride(TaskOverlayFactory.class, R.string.task_overlay_factory_class); public TaskOverlay createOverlay(TaskThumbnailView thumbnailView) { return new TaskOverlay(thumbnailView); } /** * Subclasses can attach any system listeners in this method, must be paired with * {@link #removeListeners()} */ public void initListeners() { } /** * Subclasses should remove any system listeners in this method, must be paired with * {@link #initListeners()} */ public void removeListeners() { } /** Note that these will be shown in order from top to bottom, if available for the task. */ private static final TaskShortcutFactory[] MENU_OPTIONS = new TaskShortcutFactory[]{ TaskShortcutFactory.APP_INFO, Loading
quickstep/recents_ui_overrides/src/com/android/quickstep/views/RecentsView.java +15 −0 Original line number Diff line number Diff line Loading @@ -117,6 +117,7 @@ import com.android.launcher3.util.ComponentKey; import com.android.launcher3.util.DynamicResource; import com.android.launcher3.util.MultiValueAlpha; import com.android.launcher3.util.OverScroller; import com.android.launcher3.util.ResourceBasedOverride.Overrides; import com.android.launcher3.util.Themes; import com.android.launcher3.util.ViewPool; import com.android.quickstep.BaseActivityInterface; Loading @@ -125,6 +126,7 @@ import com.android.quickstep.RecentsAnimationTargets; import com.android.quickstep.RecentsModel; import com.android.quickstep.RecentsModel.TaskVisualsChangeListener; import com.android.quickstep.SystemUiProxy; import com.android.quickstep.TaskOverlayFactory; import com.android.quickstep.TaskThumbnailCache; import com.android.quickstep.TaskUtils; import com.android.quickstep.ViewUtils; Loading Loading @@ -279,6 +281,8 @@ public abstract class RecentsView<T extends StatefulActivity> extends PagedView private final ViewPool<TaskView> mTaskViewPool; private final TaskOverlayFactory mTaskOverlayFactory; private boolean mDwbToastShown; protected boolean mDisallowScrollToClearAll; private boolean mOverlayEnabled; Loading Loading @@ -466,6 +470,11 @@ public abstract class RecentsView<T extends StatefulActivity> extends PagedView updateEmptyMessage(); mOrientationHandler = mOrientationState.getOrientationHandler(); mTaskOverlayFactory = Overrides.getObject( TaskOverlayFactory.class, context.getApplicationContext(), R.string.task_overlay_factory_class); // Initialize quickstep specific cache params here, as this is constructed only once mActivity.getViewCache().setCacheSize(R.layout.digital_wellbeing_toast, 5); } Loading Loading @@ -559,6 +568,7 @@ public abstract class RecentsView<T extends StatefulActivity> extends PagedView mIPinnedStackAnimationListener); mOrientationState.initListeners(); SplitScreenBounds.INSTANCE.addOnChangeListener(this); mTaskOverlayFactory.initListeners(); } @Override Loading @@ -575,6 +585,7 @@ public abstract class RecentsView<T extends StatefulActivity> extends PagedView SplitScreenBounds.INSTANCE.removeOnChangeListener(this); mIPinnedStackAnimationListener.setActivity(null); mOrientationState.destroyListeners(); mTaskOverlayFactory.removeListeners(); } @Override Loading Loading @@ -2431,6 +2442,10 @@ public abstract class RecentsView<T extends StatefulActivity> extends PagedView */ public void setModalStateEnabled(boolean isModalState) { } public TaskOverlayFactory getTaskOverlayFactory() { return mTaskOverlayFactory; } public BaseActivityInterface getSizeStrategy() { return mSizeStrategy; } Loading
quickstep/recents_ui_overrides/src/com/android/quickstep/views/TaskThumbnailView.java +8 −7 Original line number Diff line number Diff line Loading @@ -52,7 +52,6 @@ import com.android.launcher3.uioverrides.plugins.PluginManagerWrapper; import com.android.launcher3.util.MainThreadInitializedObject; import com.android.launcher3.util.SystemUiController; import com.android.launcher3.util.Themes; import com.android.quickstep.TaskOverlayFactory; import com.android.quickstep.TaskOverlayFactory.TaskOverlay; import com.android.quickstep.views.TaskView.FullscreenDrawParams; import com.android.systemui.plugins.OverviewScreenshotActions; Loading Loading @@ -85,7 +84,7 @@ public class TaskThumbnailView extends View implements PluginListener<OverviewSc }; private final BaseActivity mActivity; private final TaskOverlay mOverlay; private TaskOverlay mOverlay; private final boolean mIsDarkTextTheme; private final Paint mPaint = new Paint(Paint.ANTI_ALIAS_FLAG); private final Paint mBackgroundPaint = new Paint(Paint.ANTI_ALIAS_FLAG); Loading Loading @@ -118,7 +117,6 @@ public class TaskThumbnailView extends View implements PluginListener<OverviewSc public TaskThumbnailView(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); mOverlay = TaskOverlayFactory.INSTANCE.get(context).createOverlay(this); mPaint.setFilterBitmap(true); mBackgroundPaint.setColor(Color.WHITE); mClearPaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.CLEAR)); Loading @@ -134,7 +132,7 @@ public class TaskThumbnailView extends View implements PluginListener<OverviewSc * @param task */ public void bind(Task task) { mOverlay.reset(); getTaskOverlay().reset(); mTask = task; int color = task == null ? Color.BLACK : task.colorBackground | 0xFF000000; mPaint.setColor(color); Loading Loading @@ -176,7 +174,7 @@ public class TaskThumbnailView extends View implements PluginListener<OverviewSc mBitmapShader = null; mThumbnailData = null; mPaint.setShader(null); mOverlay.reset(); getTaskOverlay().reset(); } if (mOverviewScreenshotActionsPlugin != null) { mOverviewScreenshotActionsPlugin.setupActions(getTaskView(), getThumbnail(), mActivity); Loading @@ -200,6 +198,9 @@ public class TaskThumbnailView extends View implements PluginListener<OverviewSc } public TaskOverlay getTaskOverlay() { if (mOverlay == null) { mOverlay = getTaskView().getRecentsView().getTaskOverlayFactory().createOverlay(this); } return mOverlay; } Loading Loading @@ -357,10 +358,10 @@ public class TaskThumbnailView extends View implements PluginListener<OverviewSc private void updateOverlay() { if (mOverlayEnabled) { mOverlay.initOverlay(mTask, mThumbnailData, mPreviewPositionHelper.mMatrix, getTaskOverlay().initOverlay(mTask, mThumbnailData, mPreviewPositionHelper.mMatrix, mPreviewPositionHelper.mIsOrientationChanged); } else { mOverlay.reset(); getTaskOverlay().reset(); } } Loading