diff options
| author | 2023-01-13 23:11:07 +0000 | |
|---|---|---|
| committer | 2023-01-13 23:11:07 +0000 | |
| commit | 3a00b5db2d7dfd1565128663a313086c9bb64c0f (patch) | |
| tree | 9b5d5996046d7dc71f8c1064be4ded5d4596fdde | |
| parent | 595d584b574746be0c8f5b453a618c1e6dc9f82b (diff) | |
| parent | 1c58bf551143caf00df9503117d9d176e95e923a (diff) | |
Merge "Minor style cleanup for Shell caption classes." into tm-qpr-dev am: 1c58bf5511
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/20968967
Change-Id: I29ec615dc791ed6831c7bf6fd6feeddbf3bc75b4
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
4 files changed, 112 insertions, 116 deletions
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/CaptionWindowDecorViewModel.java b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/CaptionWindowDecorViewModel.java index 1e72c565157a..129924ad5d05 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/CaptionWindowDecorViewModel.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/CaptionWindowDecorViewModel.java @@ -136,7 +136,7 @@ public class CaptionWindowDecorViewModel implements WindowDecorViewModel { } private void setupCaptionColor(RunningTaskInfo taskInfo, CaptionWindowDecoration decoration) { - int statusBarColor = taskInfo.taskDescription.getStatusBarColor(); + final int statusBarColor = taskInfo.taskDescription.getStatusBarColor(); decoration.setCaptionColor(statusBarColor); } @@ -152,7 +152,7 @@ public class CaptionWindowDecorViewModel implements WindowDecorViewModel { SurfaceControl taskSurface, SurfaceControl.Transaction startT, SurfaceControl.Transaction finishT) { - CaptionWindowDecoration oldDecoration = mWindowDecorByTaskId.get(taskInfo.taskId); + final CaptionWindowDecoration oldDecoration = mWindowDecorByTaskId.get(taskInfo.taskId); if (oldDecoration != null) { // close the old decoration if it exists to avoid two window decorations being added oldDecoration.close(); @@ -169,9 +169,9 @@ public class CaptionWindowDecorViewModel implements WindowDecorViewModel { mSyncQueue); mWindowDecorByTaskId.put(taskInfo.taskId, windowDecoration); - TaskPositioner taskPositioner = + final TaskPositioner taskPositioner = new TaskPositioner(mTaskOrganizer, windowDecoration); - CaptionTouchEventListener touchEventListener = + final CaptionTouchEventListener touchEventListener = new CaptionTouchEventListener(taskInfo, taskPositioner); windowDecoration.setCaptionListeners(touchEventListener, touchEventListener); windowDecoration.setDragResizeCallback(taskPositioner); @@ -221,11 +221,11 @@ public class CaptionWindowDecorViewModel implements WindowDecorViewModel { if (e.getAction() != MotionEvent.ACTION_DOWN) { return false; } - RunningTaskInfo taskInfo = mTaskOrganizer.getRunningTaskInfo(mTaskId); + final RunningTaskInfo taskInfo = mTaskOrganizer.getRunningTaskInfo(mTaskId); if (taskInfo.isFocused) { return false; } - WindowContainerTransaction wct = new WindowContainerTransaction(); + final WindowContainerTransaction wct = new WindowContainerTransaction(); wct.reorder(mTaskToken, true /* onTop */); mSyncQueue.queue(wct); return true; @@ -236,7 +236,7 @@ public class CaptionWindowDecorViewModel implements WindowDecorViewModel { * @return {@code true} if a drag is happening; or {@code false} if it is not */ private void handleEventForMove(MotionEvent e) { - RunningTaskInfo taskInfo = mTaskOrganizer.getRunningTaskInfo(mTaskId); + final RunningTaskInfo taskInfo = mTaskOrganizer.getRunningTaskInfo(mTaskId); if (taskInfo.getWindowingMode() == WINDOWING_MODE_FULLSCREEN) { return; } diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/CaptionWindowDecoration.java b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/CaptionWindowDecoration.java index 8609c6b0302a..d26f1fc8ef1b 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/CaptionWindowDecoration.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/CaptionWindowDecoration.java @@ -48,15 +48,13 @@ public class CaptionWindowDecoration extends WindowDecoration<WindowDecorLinearL private View.OnClickListener mOnCaptionButtonClickListener; private View.OnTouchListener mOnCaptionTouchListener; private DragResizeCallback mDragResizeCallback; - private DragResizeInputListener mDragResizeListener; + private final DragDetector mDragDetector; private RelayoutParams mRelayoutParams = new RelayoutParams(); private final RelayoutResult<WindowDecorLinearLayout> mResult = new RelayoutResult<>(); - private DragDetector mDragDetector; - CaptionWindowDecoration( Context context, DisplayController displayController, @@ -104,14 +102,14 @@ public class CaptionWindowDecoration extends WindowDecoration<WindowDecorLinearL taskInfo.getWindowingMode() == WindowConfiguration.WINDOWING_MODE_FREEFORM; final boolean isDragResizeable = isFreeform && taskInfo.isResizeable; - WindowDecorLinearLayout oldRootView = mResult.mRootView; + final WindowDecorLinearLayout oldRootView = mResult.mRootView; final SurfaceControl oldDecorationSurface = mDecorationContainerSurface; final WindowContainerTransaction wct = new WindowContainerTransaction(); - int outsetLeftId = R.dimen.freeform_resize_handle; - int outsetTopId = R.dimen.freeform_resize_handle; - int outsetRightId = R.dimen.freeform_resize_handle; - int outsetBottomId = R.dimen.freeform_resize_handle; + final int outsetLeftId = R.dimen.freeform_resize_handle; + final int outsetTopId = R.dimen.freeform_resize_handle; + final int outsetRightId = R.dimen.freeform_resize_handle; + final int outsetBottomId = R.dimen.freeform_resize_handle; mRelayoutParams.reset(); mRelayoutParams.mRunningTaskInfo = taskInfo; @@ -123,7 +121,7 @@ public class CaptionWindowDecoration extends WindowDecoration<WindowDecorLinearL } relayout(mRelayoutParams, startT, finishT, wct, oldRootView, mResult); - taskInfo = null; // Clear it just in case we use it accidentally + // After this line, mTaskInfo is up-to-date and should be used instead of taskInfo mTaskOrganizer.applyTransaction(wct); @@ -152,12 +150,13 @@ public class CaptionWindowDecoration extends WindowDecoration<WindowDecorLinearL mDragResizeCallback); } - int touchSlop = ViewConfiguration.get(mResult.mRootView.getContext()).getScaledTouchSlop(); + final int touchSlop = ViewConfiguration.get(mResult.mRootView.getContext()) + .getScaledTouchSlop(); mDragDetector.setTouchSlop(touchSlop); - int resize_handle = mResult.mRootView.getResources() + final int resize_handle = mResult.mRootView.getResources() .getDimensionPixelSize(R.dimen.freeform_resize_handle); - int resize_corner = mResult.mRootView.getResources() + final int resize_corner = mResult.mRootView.getResources() .getDimensionPixelSize(R.dimen.freeform_resize_corner); mDragResizeListener.setGeometry( mResult.mWidth, mResult.mHeight, resize_handle, resize_corner, touchSlop); @@ -167,15 +166,15 @@ public class CaptionWindowDecoration extends WindowDecoration<WindowDecorLinearL * Sets up listeners when a new root view is created. */ private void setupRootView() { - View caption = mResult.mRootView.findViewById(R.id.caption); + final View caption = mResult.mRootView.findViewById(R.id.caption); caption.setOnTouchListener(mOnCaptionTouchListener); - View close = caption.findViewById(R.id.close_window); + final View close = caption.findViewById(R.id.close_window); close.setOnClickListener(mOnCaptionButtonClickListener); - View back = caption.findViewById(R.id.back_button); + final View back = caption.findViewById(R.id.back_button); back.setOnClickListener(mOnCaptionButtonClickListener); - View minimize = caption.findViewById(R.id.minimize_window); + final View minimize = caption.findViewById(R.id.minimize_window); minimize.setOnClickListener(mOnCaptionButtonClickListener); - View maximize = caption.findViewById(R.id.maximize_window); + final View maximize = caption.findViewById(R.id.maximize_window); maximize.setOnClickListener(mOnCaptionButtonClickListener); } @@ -184,31 +183,31 @@ public class CaptionWindowDecoration extends WindowDecoration<WindowDecorLinearL return; } - View caption = mResult.mRootView.findViewById(R.id.caption); - GradientDrawable captionDrawable = (GradientDrawable) caption.getBackground(); + final View caption = mResult.mRootView.findViewById(R.id.caption); + final GradientDrawable captionDrawable = (GradientDrawable) caption.getBackground(); captionDrawable.setColor(captionColor); - int buttonTintColorRes = + final int buttonTintColorRes = Color.valueOf(captionColor).luminance() < 0.5 ? R.color.decor_button_light_color : R.color.decor_button_dark_color; - ColorStateList buttonTintColor = + final ColorStateList buttonTintColor = caption.getResources().getColorStateList(buttonTintColorRes, null /* theme */); - View back = caption.findViewById(R.id.back_button); - VectorDrawable backBackground = (VectorDrawable) back.getBackground(); + final View back = caption.findViewById(R.id.back_button); + final VectorDrawable backBackground = (VectorDrawable) back.getBackground(); backBackground.setTintList(buttonTintColor); - View minimize = caption.findViewById(R.id.minimize_window); - VectorDrawable minimizeBackground = (VectorDrawable) minimize.getBackground(); + final View minimize = caption.findViewById(R.id.minimize_window); + final VectorDrawable minimizeBackground = (VectorDrawable) minimize.getBackground(); minimizeBackground.setTintList(buttonTintColor); - View maximize = caption.findViewById(R.id.maximize_window); - VectorDrawable maximizeBackground = (VectorDrawable) maximize.getBackground(); + final View maximize = caption.findViewById(R.id.maximize_window); + final VectorDrawable maximizeBackground = (VectorDrawable) maximize.getBackground(); maximizeBackground.setTintList(buttonTintColor); - View close = caption.findViewById(R.id.close_window); - VectorDrawable closeBackground = (VectorDrawable) close.getBackground(); + final View close = caption.findViewById(R.id.close_window); + final VectorDrawable closeBackground = (VectorDrawable) close.getBackground(); closeBackground.setTintList(buttonTintColor); } diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecorViewModel.java b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecorViewModel.java index 13b4a956e4e5..2863adcc8f5e 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecorViewModel.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecorViewModel.java @@ -68,9 +68,8 @@ public class DesktopModeWindowDecorViewModel implements WindowDecorViewModel { private final Choreographer mMainChoreographer; private final DisplayController mDisplayController; private final SyncTransactionQueue mSyncQueue; - private FreeformTaskTransitionStarter mTransitionStarter; - private Optional<DesktopModeController> mDesktopModeController; - private Optional<DesktopTasksController> mDesktopTasksController; + private final Optional<DesktopModeController> mDesktopModeController; + private final Optional<DesktopTasksController> mDesktopTasksController; private boolean mTransitionDragActive; private SparseArray<EventReceiver> mEventReceiversByDisplay = new SparseArray<>(); @@ -78,7 +77,7 @@ public class DesktopModeWindowDecorViewModel implements WindowDecorViewModel { private final SparseArray<DesktopModeWindowDecoration> mWindowDecorByTaskId = new SparseArray<>(); private final DragStartListenerImpl mDragStartListener = new DragStartListenerImpl(); - private InputMonitorFactory mInputMonitorFactory; + private final InputMonitorFactory mInputMonitorFactory; private TaskOperations mTaskOperations; public DesktopModeWindowDecorViewModel( @@ -199,7 +198,7 @@ public class DesktopModeWindowDecorViewModel implements WindowDecorViewModel { if (decoration == null) return; decoration.close(); - int displayId = taskInfo.displayId; + final int displayId = taskInfo.displayId; if (mEventReceiversByDisplay.contains(displayId)) { removeTaskFromEventReceiver(displayId); } @@ -227,7 +226,7 @@ public class DesktopModeWindowDecorViewModel implements WindowDecorViewModel { @Override public void onClick(View v) { - DesktopModeWindowDecoration decoration = mWindowDecorByTaskId.get(mTaskId); + final DesktopModeWindowDecoration decoration = mWindowDecorByTaskId.get(mTaskId); final int id = v.getId(); if (id == R.id.close_window) { mTaskOperations.closeTask(mTaskToken); @@ -250,7 +249,7 @@ public class DesktopModeWindowDecorViewModel implements WindowDecorViewModel { @Override public boolean onTouch(View v, MotionEvent e) { boolean isDrag = false; - int id = v.getId(); + final int id = v.getId(); if (id != R.id.caption_handle && id != R.id.desktop_mode_caption) { return false; } @@ -261,11 +260,11 @@ public class DesktopModeWindowDecorViewModel implements WindowDecorViewModel { if (e.getAction() != MotionEvent.ACTION_DOWN) { return isDrag; } - RunningTaskInfo taskInfo = mTaskOrganizer.getRunningTaskInfo(mTaskId); + final RunningTaskInfo taskInfo = mTaskOrganizer.getRunningTaskInfo(mTaskId); if (taskInfo.isFocused) { return isDrag; } - WindowContainerTransaction wct = new WindowContainerTransaction(); + final WindowContainerTransaction wct = new WindowContainerTransaction(); wct.reorder(mTaskToken, true /* onTop */); mSyncQueue.queue(wct); return true; @@ -276,7 +275,7 @@ public class DesktopModeWindowDecorViewModel implements WindowDecorViewModel { * @return {@code true} if a drag is happening; or {@code false} if it is not */ private void handleEventForMove(MotionEvent e) { - RunningTaskInfo taskInfo = mTaskOrganizer.getRunningTaskInfo(mTaskId); + final RunningTaskInfo taskInfo = mTaskOrganizer.getRunningTaskInfo(mTaskId); if (DesktopModeStatus.isProto2Enabled() && taskInfo.getWindowingMode() == WINDOWING_MODE_FULLSCREEN) { return; @@ -295,16 +294,16 @@ public class DesktopModeWindowDecorViewModel implements WindowDecorViewModel { break; } case MotionEvent.ACTION_MOVE: { - int dragPointerIdx = e.findPointerIndex(mDragPointerId); + final int dragPointerIdx = e.findPointerIndex(mDragPointerId); mDragResizeCallback.onDragResizeMove( e.getRawX(dragPointerIdx), e.getRawY(dragPointerIdx)); break; } case MotionEvent.ACTION_UP: case MotionEvent.ACTION_CANCEL: { - int dragPointerIdx = e.findPointerIndex(mDragPointerId); - int statusBarHeight = mDisplayController.getDisplayLayout(taskInfo.displayId) - .stableInsets().top; + final int dragPointerIdx = e.findPointerIndex(mDragPointerId); + final int statusBarHeight = mDisplayController + .getDisplayLayout(taskInfo.displayId).stableInsets().top; mDragResizeCallback.onDragResizeEnd( e.getRawX(dragPointerIdx), e.getRawY(dragPointerIdx)); if (e.getRawY(dragPointerIdx) <= statusBarHeight) { @@ -378,7 +377,7 @@ public class DesktopModeWindowDecorViewModel implements WindowDecorViewModel { */ private void incrementEventReceiverTasks(int displayId) { if (mEventReceiversByDisplay.contains(displayId)) { - EventReceiver eventReceiver = mEventReceiversByDisplay.get(displayId); + final EventReceiver eventReceiver = mEventReceiversByDisplay.get(displayId); eventReceiver.incrementTaskNumber(); } else { createInputChannel(displayId); @@ -388,7 +387,7 @@ public class DesktopModeWindowDecorViewModel implements WindowDecorViewModel { // If all tasks on this display are gone, we don't need to monitor its input. private void removeTaskFromEventReceiver(int displayId) { if (!mEventReceiversByDisplay.contains(displayId)) return; - EventReceiver eventReceiver = mEventReceiversByDisplay.get(displayId); + final EventReceiver eventReceiver = mEventReceiversByDisplay.get(displayId); if (eventReceiver == null) return; eventReceiver.decrementTaskNumber(); if (eventReceiver.getTasksOnDisplay() == 0) { @@ -403,7 +402,7 @@ public class DesktopModeWindowDecorViewModel implements WindowDecorViewModel { */ private void handleReceivedMotionEvent(MotionEvent ev, InputMonitor inputMonitor) { if (DesktopModeStatus.isProto2Enabled()) { - DesktopModeWindowDecoration focusedDecor = getFocusedDecor(); + final DesktopModeWindowDecoration focusedDecor = getFocusedDecor(); if (focusedDecor == null || focusedDecor.mTaskInfo.getWindowingMode() != WINDOWING_MODE_FREEFORM) { handleCaptionThroughStatusBar(ev); @@ -428,9 +427,9 @@ public class DesktopModeWindowDecorViewModel implements WindowDecorViewModel { // If an UP/CANCEL action is received outside of caption bounds, turn off handle menu private void handleEventOutsideFocusedCaption(MotionEvent ev) { - int action = ev.getActionMasked(); + final int action = ev.getActionMasked(); if (action == MotionEvent.ACTION_UP || action == MotionEvent.ACTION_CANCEL) { - DesktopModeWindowDecoration focusedDecor = getFocusedDecor(); + final DesktopModeWindowDecoration focusedDecor = getFocusedDecor(); if (focusedDecor == null) { return; } @@ -450,7 +449,7 @@ public class DesktopModeWindowDecorViewModel implements WindowDecorViewModel { switch (ev.getActionMasked()) { case MotionEvent.ACTION_DOWN: { // Begin drag through status bar if applicable. - DesktopModeWindowDecoration focusedDecor = getFocusedDecor(); + final DesktopModeWindowDecoration focusedDecor = getFocusedDecor(); if (focusedDecor != null) { boolean dragFromStatusBarAllowed = false; if (DesktopModeStatus.isProto2Enabled()) { @@ -469,14 +468,14 @@ public class DesktopModeWindowDecorViewModel implements WindowDecorViewModel { break; } case MotionEvent.ACTION_UP: { - DesktopModeWindowDecoration focusedDecor = getFocusedDecor(); + final DesktopModeWindowDecoration focusedDecor = getFocusedDecor(); if (focusedDecor == null) { mTransitionDragActive = false; return; } if (mTransitionDragActive) { mTransitionDragActive = false; - int statusBarHeight = mDisplayController + final int statusBarHeight = mDisplayController .getDisplayLayout(focusedDecor.mTaskInfo.displayId).stableInsets().top; if (ev.getY() > statusBarHeight) { if (DesktopModeStatus.isProto2Enabled()) { @@ -500,10 +499,10 @@ public class DesktopModeWindowDecorViewModel implements WindowDecorViewModel { @Nullable private DesktopModeWindowDecoration getFocusedDecor() { - int size = mWindowDecorByTaskId.size(); + final int size = mWindowDecorByTaskId.size(); DesktopModeWindowDecoration focusedDecor = null; for (int i = 0; i < size; i++) { - DesktopModeWindowDecoration decor = mWindowDecorByTaskId.valueAt(i); + final DesktopModeWindowDecoration decor = mWindowDecorByTaskId.valueAt(i); if (decor != null && decor.isFocused()) { focusedDecor = decor; break; @@ -513,16 +512,16 @@ public class DesktopModeWindowDecorViewModel implements WindowDecorViewModel { } private void createInputChannel(int displayId) { - InputManager inputManager = InputManager.getInstance(); - InputMonitor inputMonitor = + final InputManager inputManager = InputManager.getInstance(); + final InputMonitor inputMonitor = mInputMonitorFactory.create(inputManager, mContext); - EventReceiver eventReceiver = new EventReceiver(inputMonitor, + final EventReceiver eventReceiver = new EventReceiver(inputMonitor, inputMonitor.getInputChannel(), Looper.myLooper()); mEventReceiversByDisplay.put(displayId, eventReceiver); } private void disposeInputChannel(int displayId) { - EventReceiver eventReceiver = mEventReceiversByDisplay.removeReturnOld(displayId); + final EventReceiver eventReceiver = mEventReceiversByDisplay.removeReturnOld(displayId); if (eventReceiver != null) { eventReceiver.dispose(); } @@ -541,7 +540,7 @@ public class DesktopModeWindowDecorViewModel implements WindowDecorViewModel { SurfaceControl taskSurface, SurfaceControl.Transaction startT, SurfaceControl.Transaction finishT) { - DesktopModeWindowDecoration oldDecoration = mWindowDecorByTaskId.get(taskInfo.taskId); + final DesktopModeWindowDecoration oldDecoration = mWindowDecorByTaskId.get(taskInfo.taskId); if (oldDecoration != null) { // close the old decoration if it exists to avoid two window decorations being added oldDecoration.close(); @@ -558,9 +557,9 @@ public class DesktopModeWindowDecorViewModel implements WindowDecorViewModel { mSyncQueue); mWindowDecorByTaskId.put(taskInfo.taskId, windowDecoration); - TaskPositioner taskPositioner = + final TaskPositioner taskPositioner = new TaskPositioner(mTaskOrganizer, windowDecoration, mDragStartListener); - DesktopModeTouchEventListener touchEventListener = + final DesktopModeTouchEventListener touchEventListener = new DesktopModeTouchEventListener( taskInfo, taskPositioner, windowDecoration.getDragDetector()); windowDecoration.setCaptionListeners(touchEventListener, touchEventListener); diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecoration.java b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecoration.java index 9c2beb9c4b2b..1a38d24a4ab1 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecoration.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/DesktopModeWindowDecoration.java @@ -56,17 +56,14 @@ public class DesktopModeWindowDecoration extends WindowDecoration<WindowDecorLin private View.OnClickListener mOnCaptionButtonClickListener; private View.OnTouchListener mOnCaptionTouchListener; private DragResizeCallback mDragResizeCallback; - private DragResizeInputListener mDragResizeListener; + private final DragDetector mDragDetector; private RelayoutParams mRelayoutParams = new RelayoutParams(); private final WindowDecoration.RelayoutResult<WindowDecorLinearLayout> mResult = new WindowDecoration.RelayoutResult<>(); private boolean mDesktopActive; - - private DragDetector mDragDetector; - private AdditionalWindow mHandleMenu; DesktopModeWindowDecoration( @@ -121,14 +118,14 @@ public class DesktopModeWindowDecoration extends WindowDecoration<WindowDecorLin taskInfo.getWindowingMode() == WINDOWING_MODE_FREEFORM; final boolean isDragResizeable = isFreeform && taskInfo.isResizeable; - WindowDecorLinearLayout oldRootView = mResult.mRootView; + final WindowDecorLinearLayout oldRootView = mResult.mRootView; final SurfaceControl oldDecorationSurface = mDecorationContainerSurface; final WindowContainerTransaction wct = new WindowContainerTransaction(); - int outsetLeftId = R.dimen.freeform_resize_handle; - int outsetTopId = R.dimen.freeform_resize_handle; - int outsetRightId = R.dimen.freeform_resize_handle; - int outsetBottomId = R.dimen.freeform_resize_handle; + final int outsetLeftId = R.dimen.freeform_resize_handle; + final int outsetTopId = R.dimen.freeform_resize_handle; + final int outsetRightId = R.dimen.freeform_resize_handle; + final int outsetBottomId = R.dimen.freeform_resize_handle; mRelayoutParams.reset(); mRelayoutParams.mRunningTaskInfo = taskInfo; @@ -152,7 +149,7 @@ public class DesktopModeWindowDecoration extends WindowDecoration<WindowDecorLin mRelayoutParams.setCaptionPosition(captionLeft, captionTop); relayout(mRelayoutParams, startT, finishT, wct, oldRootView, mResult); - taskInfo = null; // Clear it just in case we use it accidentally + // After this line, mTaskInfo is up-to-date and should be used instead of taskInfo mTaskOrganizer.applyTransaction(wct); @@ -197,12 +194,13 @@ public class DesktopModeWindowDecoration extends WindowDecoration<WindowDecorLin mDragResizeCallback); } - int touchSlop = ViewConfiguration.get(mResult.mRootView.getContext()).getScaledTouchSlop(); + final int touchSlop = ViewConfiguration.get(mResult.mRootView.getContext()) + .getScaledTouchSlop(); mDragDetector.setTouchSlop(touchSlop); - int resize_handle = mResult.mRootView.getResources() + final int resize_handle = mResult.mRootView.getResources() .getDimensionPixelSize(R.dimen.freeform_resize_handle); - int resize_corner = mResult.mRootView.getResources() + final int resize_corner = mResult.mRootView.getResources() .getDimensionPixelSize(R.dimen.freeform_resize_corner); mDragResizeListener.setGeometry( mResult.mWidth, mResult.mHeight, resize_handle, resize_corner, touchSlop); @@ -212,27 +210,27 @@ public class DesktopModeWindowDecoration extends WindowDecoration<WindowDecorLin * Sets up listeners when a new root view is created. */ private void setupRootView() { - View caption = mResult.mRootView.findViewById(R.id.desktop_mode_caption); + final View caption = mResult.mRootView.findViewById(R.id.desktop_mode_caption); caption.setOnTouchListener(mOnCaptionTouchListener); - View close = caption.findViewById(R.id.close_window); + final View close = caption.findViewById(R.id.close_window); close.setOnClickListener(mOnCaptionButtonClickListener); - View back = caption.findViewById(R.id.back_button); + final View back = caption.findViewById(R.id.back_button); back.setOnClickListener(mOnCaptionButtonClickListener); - View handle = caption.findViewById(R.id.caption_handle); + final View handle = caption.findViewById(R.id.caption_handle); handle.setOnTouchListener(mOnCaptionTouchListener); handle.setOnClickListener(mOnCaptionButtonClickListener); updateButtonVisibility(); } private void setupHandleMenu() { - View menu = mHandleMenu.mWindowViewHost.getView(); - View fullscreen = menu.findViewById(R.id.fullscreen_button); + final View menu = mHandleMenu.mWindowViewHost.getView(); + final View fullscreen = menu.findViewById(R.id.fullscreen_button); fullscreen.setOnClickListener(mOnCaptionButtonClickListener); - View desktop = menu.findViewById(R.id.desktop_button); + final View desktop = menu.findViewById(R.id.desktop_button); desktop.setOnClickListener(mOnCaptionButtonClickListener); - View split = menu.findViewById(R.id.split_screen_button); + final View split = menu.findViewById(R.id.split_screen_button); split.setOnClickListener(mOnCaptionButtonClickListener); - View more = menu.findViewById(R.id.more_button); + final View more = menu.findViewById(R.id.more_button); more.setOnClickListener(mOnCaptionButtonClickListener); } @@ -242,8 +240,8 @@ public class DesktopModeWindowDecoration extends WindowDecoration<WindowDecorLin * @param visible whether or not the caption should be visible */ private void setCaptionVisibility(boolean visible) { - int v = visible ? View.VISIBLE : View.GONE; - View captionView = mResult.mRootView.findViewById(R.id.desktop_mode_caption); + final int v = visible ? View.VISIBLE : View.GONE; + final View captionView = mResult.mRootView.findViewById(R.id.desktop_mode_caption); captionView.setVisibility(v); if (!visible) closeHandleMenu(); } @@ -264,19 +262,19 @@ public class DesktopModeWindowDecoration extends WindowDecoration<WindowDecorLin * Show or hide buttons */ void setButtonVisibility(boolean visible) { - int visibility = visible ? View.VISIBLE : View.GONE; - View caption = mResult.mRootView.findViewById(R.id.desktop_mode_caption); - View back = caption.findViewById(R.id.back_button); - View close = caption.findViewById(R.id.close_window); + final int visibility = visible ? View.VISIBLE : View.GONE; + final View caption = mResult.mRootView.findViewById(R.id.desktop_mode_caption); + final View back = caption.findViewById(R.id.back_button); + final View close = caption.findViewById(R.id.close_window); back.setVisibility(visibility); close.setVisibility(visibility); - int buttonTintColorRes = + final int buttonTintColorRes = mDesktopActive ? R.color.decor_button_dark_color : R.color.decor_button_light_color; - ColorStateList buttonTintColor = + final ColorStateList buttonTintColor = caption.getResources().getColorStateList(buttonTintColorRes, null /* theme */); - View handle = caption.findViewById(R.id.caption_handle); - VectorDrawable handleBackground = (VectorDrawable) handle.getBackground(); + final View handle = caption.findViewById(R.id.caption_handle); + final VectorDrawable handleBackground = (VectorDrawable) handle.getBackground(); handleBackground.setTintList(buttonTintColor); caption.getBackground().setTint(visible ? Color.WHITE : Color.TRANSPARENT); } @@ -297,12 +295,12 @@ public class DesktopModeWindowDecoration extends WindowDecoration<WindowDecorLin * Create and display handle menu window */ void createHandleMenu() { - SurfaceControl.Transaction t = new SurfaceControl.Transaction(); + final SurfaceControl.Transaction t = new SurfaceControl.Transaction(); final Resources resources = mDecorWindowContext.getResources(); - int x = mRelayoutParams.mCaptionX; - int y = mRelayoutParams.mCaptionY; - int width = loadDimensionPixelSize(resources, mRelayoutParams.mCaptionWidthId); - int height = loadDimensionPixelSize(resources, mRelayoutParams.mCaptionHeightId); + final int x = mRelayoutParams.mCaptionX; + final int y = mRelayoutParams.mCaptionY; + final int width = loadDimensionPixelSize(resources, mRelayoutParams.mCaptionWidthId); + final int height = loadDimensionPixelSize(resources, mRelayoutParams.mCaptionHeightId); String namePrefix = "Caption Menu"; mHandleMenu = addWindow(R.layout.desktop_mode_decor_handle_menu, namePrefix, t, x - mResult.mDecorContainerOffsetX, y - mResult.mDecorContainerOffsetY, @@ -353,8 +351,8 @@ public class DesktopModeWindowDecoration extends WindowDecoration<WindowDecorLin * @return the point of the input in local space */ private PointF offsetCaptionLocation(MotionEvent ev) { - PointF result = new PointF(ev.getX(), ev.getY()); - Point positionInParent = mTaskOrganizer.getRunningTaskInfo(mTaskInfo.taskId) + final PointF result = new PointF(ev.getX(), ev.getY()); + final Point positionInParent = mTaskOrganizer.getRunningTaskInfo(mTaskInfo.taskId) .positionInParent; result.offset(-mRelayoutParams.mCaptionX, -mRelayoutParams.mCaptionY); result.offset(-positionInParent.x, -positionInParent.y); @@ -370,8 +368,8 @@ public class DesktopModeWindowDecoration extends WindowDecoration<WindowDecorLin */ private boolean checkEventInCaptionView(MotionEvent ev, int layoutId) { if (mResult.mRootView == null) return false; - PointF inputPoint = offsetCaptionLocation(ev); - View view = mResult.mRootView.findViewById(layoutId); + final PointF inputPoint = offsetCaptionLocation(ev); + final View view = mResult.mRootView.findViewById(layoutId); return view != null && view.pointInView(inputPoint.x, inputPoint.y, 0); } @@ -389,20 +387,20 @@ public class DesktopModeWindowDecoration extends WindowDecoration<WindowDecorLin */ void checkClickEvent(MotionEvent ev) { if (mResult.mRootView == null) return; - View caption = mResult.mRootView.findViewById(R.id.desktop_mode_caption); - PointF inputPoint = offsetCaptionLocation(ev); + final View caption = mResult.mRootView.findViewById(R.id.desktop_mode_caption); + final PointF inputPoint = offsetCaptionLocation(ev); if (!isHandleMenuActive()) { - View handle = caption.findViewById(R.id.caption_handle); + final View handle = caption.findViewById(R.id.caption_handle); clickIfPointInView(inputPoint, handle); } else { - View menu = mHandleMenu.mWindowViewHost.getView(); - View fullscreen = menu.findViewById(R.id.fullscreen_button); + final View menu = mHandleMenu.mWindowViewHost.getView(); + final View fullscreen = menu.findViewById(R.id.fullscreen_button); if (clickIfPointInView(inputPoint, fullscreen)) return; - View desktop = menu.findViewById(R.id.desktop_button); + final View desktop = menu.findViewById(R.id.desktop_button); if (clickIfPointInView(inputPoint, desktop)) return; - View split = menu.findViewById(R.id.split_screen_button); + final View split = menu.findViewById(R.id.split_screen_button); if (clickIfPointInView(inputPoint, split)) return; - View more = menu.findViewById(R.id.more_button); + final View more = menu.findViewById(R.id.more_button); clickIfPointInView(inputPoint, more); } } |