Loading quickstep/src/com/android/quickstep/TaskMenuView.java +34 −10 Original line number Diff line number Diff line Loading @@ -25,7 +25,6 @@ import android.graphics.Point; import android.graphics.Rect; import android.graphics.drawable.Drawable; import android.util.AttributeSet; import android.view.LayoutInflater; import android.view.MotionEvent; import android.view.View; import android.view.ViewOutlineProvider; Loading Loading @@ -61,6 +60,8 @@ public class TaskMenuView extends AbstractFloatingView { private Launcher mLauncher; private TextView mTaskIconAndName; private AnimatorSet mOpenCloseAnimator; private TaskView mTaskView; private View mWidgetsOptionView; public TaskMenuView(Context context, AttributeSet attrs) { this(context, attrs, 0); Loading Loading @@ -130,8 +131,9 @@ public class TaskMenuView extends AbstractFloatingView { return false; } mLauncher.getDragLayer().addView(this); addMenuOptions(taskView.getTask()); orientAroundTaskView(taskView); mTaskView = taskView; addMenuOptions(mTaskView.getTask()); orientAroundTaskView(mTaskView); post(this::animateOpen); return true; } Loading @@ -143,17 +145,24 @@ public class TaskMenuView extends AbstractFloatingView { mTaskIconAndName.setCompoundDrawables(null, icon, null, null); mTaskIconAndName.setText(TaskUtils.getTitle(mLauncher, task)); LayoutInflater inflater = mLauncher.getLayoutInflater(); for (TaskSystemShortcut menuOption : MENU_OPTIONS) { OnClickListener onClickListener = menuOption.getOnClickListener(mLauncher, task); if (onClickListener != null) { DeepShortcutView menuOptionView = (DeepShortcutView) inflater.inflate( addMenuOption(menuOption, onClickListener); } } } private void addMenuOption(TaskSystemShortcut menuOption, OnClickListener onClickListener) { DeepShortcutView menuOptionView = (DeepShortcutView) mLauncher.getLayoutInflater().inflate( R.layout.system_shortcut, this, false); menuOptionView.getIconView().setBackgroundResource(menuOption.iconResId); menuOptionView.getBubbleText().setText(menuOption.labelResId); menuOptionView.setOnClickListener(onClickListener); addView(menuOptionView); } if (menuOption instanceof TaskSystemShortcut.Widgets) { mWidgetsOptionView = menuOptionView; } } Loading Loading @@ -220,4 +229,19 @@ public class TaskMenuView extends AbstractFloatingView { } }; } @Override protected void onWidgetsBound() { TaskSystemShortcut widgetsOption = new TaskSystemShortcut.Widgets(); View.OnClickListener onClickListener = widgetsOption.getOnClickListener( mLauncher, mTaskView.getTask()); if (onClickListener != null && mWidgetsOptionView == null) { // We didn't have any widgets cached but now there are some, so add the option. addMenuOption(widgetsOption, onClickListener); } else if (onClickListener == null && mWidgetsOptionView != null) { // No widgets exist, but we previously added the option so remove it. removeView(mWidgetsOptionView); } } } Loading
quickstep/src/com/android/quickstep/TaskMenuView.java +34 −10 Original line number Diff line number Diff line Loading @@ -25,7 +25,6 @@ import android.graphics.Point; import android.graphics.Rect; import android.graphics.drawable.Drawable; import android.util.AttributeSet; import android.view.LayoutInflater; import android.view.MotionEvent; import android.view.View; import android.view.ViewOutlineProvider; Loading Loading @@ -61,6 +60,8 @@ public class TaskMenuView extends AbstractFloatingView { private Launcher mLauncher; private TextView mTaskIconAndName; private AnimatorSet mOpenCloseAnimator; private TaskView mTaskView; private View mWidgetsOptionView; public TaskMenuView(Context context, AttributeSet attrs) { this(context, attrs, 0); Loading Loading @@ -130,8 +131,9 @@ public class TaskMenuView extends AbstractFloatingView { return false; } mLauncher.getDragLayer().addView(this); addMenuOptions(taskView.getTask()); orientAroundTaskView(taskView); mTaskView = taskView; addMenuOptions(mTaskView.getTask()); orientAroundTaskView(mTaskView); post(this::animateOpen); return true; } Loading @@ -143,17 +145,24 @@ public class TaskMenuView extends AbstractFloatingView { mTaskIconAndName.setCompoundDrawables(null, icon, null, null); mTaskIconAndName.setText(TaskUtils.getTitle(mLauncher, task)); LayoutInflater inflater = mLauncher.getLayoutInflater(); for (TaskSystemShortcut menuOption : MENU_OPTIONS) { OnClickListener onClickListener = menuOption.getOnClickListener(mLauncher, task); if (onClickListener != null) { DeepShortcutView menuOptionView = (DeepShortcutView) inflater.inflate( addMenuOption(menuOption, onClickListener); } } } private void addMenuOption(TaskSystemShortcut menuOption, OnClickListener onClickListener) { DeepShortcutView menuOptionView = (DeepShortcutView) mLauncher.getLayoutInflater().inflate( R.layout.system_shortcut, this, false); menuOptionView.getIconView().setBackgroundResource(menuOption.iconResId); menuOptionView.getBubbleText().setText(menuOption.labelResId); menuOptionView.setOnClickListener(onClickListener); addView(menuOptionView); } if (menuOption instanceof TaskSystemShortcut.Widgets) { mWidgetsOptionView = menuOptionView; } } Loading Loading @@ -220,4 +229,19 @@ public class TaskMenuView extends AbstractFloatingView { } }; } @Override protected void onWidgetsBound() { TaskSystemShortcut widgetsOption = new TaskSystemShortcut.Widgets(); View.OnClickListener onClickListener = widgetsOption.getOnClickListener( mLauncher, mTaskView.getTask()); if (onClickListener != null && mWidgetsOptionView == null) { // We didn't have any widgets cached but now there are some, so add the option. addMenuOption(widgetsOption, onClickListener); } else if (onClickListener == null && mWidgetsOptionView != null) { // No widgets exist, but we previously added the option so remove it. removeView(mWidgetsOptionView); } } }