Loading libs/WindowManager/Shell/res/values/ids.xml +1 −0 Original line number Diff line number Diff line Loading @@ -25,6 +25,7 @@ <item type="id" name="action_move_tl_50" /> <item type="id" name="action_move_tl_30" /> <item type="id" name="action_move_rb_full" /> <item type="id" name="action_swap_apps" /> <!-- For saving PhysicsAnimationLayout animations/animators as view tags. --> <item type="id" name="translation_x_dynamicanimation_tag"/> Loading libs/WindowManager/Shell/res/values/strings.xml +2 −0 Original line number Diff line number Diff line Loading @@ -90,6 +90,8 @@ <string name="accessibility_action_divider_left_30">Left 30%</string> <!-- Accessibility action for moving docked stack divider to make the right screen full screen [CHAR LIMIT=NONE] --> <string name="accessibility_action_divider_right_full">Right full screen</string> <!-- Accessibility action for swapping the apps around the divider (double tap action) [CHAR LIMIT=NONE] --> <string name="accessibility_action_divider_swap">Swap Apps</string> <!-- Accessibility action for moving docked stack divider to make the top screen full screen [CHAR LIMIT=NONE] --> <string name="accessibility_action_divider_top_full">Top full screen</string> Loading libs/WindowManager/Shell/src/com/android/wm/shell/common/split/DividerView.java +8 −1 Original line number Diff line number Diff line Loading @@ -125,11 +125,13 @@ public class DividerView extends FrameLayout implements View.OnTouchListener { } }; private final AccessibilityDelegate mHandleDelegate = new AccessibilityDelegate() { final AccessibilityDelegate mHandleDelegate = new AccessibilityDelegate() { @Override public void onInitializeAccessibilityNodeInfo(View host, AccessibilityNodeInfo info) { super.onInitializeAccessibilityNodeInfo(host, info); final DividerSnapAlgorithm snapAlgorithm = mSplitLayout.mDividerSnapAlgorithm; info.addAction(new AccessibilityAction(R.id.action_swap_apps, mContext.getString(R.string.accessibility_action_divider_swap))); if (mSplitLayout.isLeftRightSplit()) { info.addAction(new AccessibilityAction(R.id.action_move_tl_full, mContext.getString(R.string.accessibility_action_divider_left_full))); Loading Loading @@ -172,6 +174,11 @@ public class DividerView extends FrameLayout implements View.OnTouchListener { @Override public boolean performAccessibilityAction(@NonNull View host, int action, @Nullable Bundle args) { if (action == R.id.action_swap_apps) { mSplitLayout.onDoubleTappedDivider(); return true; } DividerSnapAlgorithm.SnapTarget nextTarget = null; DividerSnapAlgorithm snapAlgorithm = mSplitLayout.mDividerSnapAlgorithm; if (action == R.id.action_move_tl_full) { Loading libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/common/split/DividerViewTest.java +11 −2 Original line number Diff line number Diff line Loading @@ -36,6 +36,7 @@ import androidx.test.annotation.UiThreadTest; import androidx.test.ext.junit.runners.AndroidJUnit4; import androidx.test.filters.SmallTest; import com.android.wm.shell.R; import com.android.wm.shell.ShellTaskOrganizer; import com.android.wm.shell.ShellTestCase; import com.android.wm.shell.common.DisplayController; Loading Loading @@ -66,9 +67,9 @@ public class DividerViewTest extends ShellTestCase { public void setup() { MockitoAnnotations.initMocks(this); Configuration configuration = getConfiguration(); mSplitLayout = new SplitLayout("TestSplitLayout", mContext, configuration, mSplitLayout = spy(new SplitLayout("TestSplitLayout", mContext, configuration, mSplitLayoutHandler, mCallbacks, mDisplayController, mDisplayImeController, mTaskOrganizer, SplitLayout.PARALLAX_NONE, mSplitState, mHandler); mTaskOrganizer, SplitLayout.PARALLAX_NONE, mSplitState, mHandler)); SplitWindowManager splitWindowManager = new SplitWindowManager("TestSplitWindowManager", mContext, configuration, mCallbacks); Loading Loading @@ -98,6 +99,14 @@ public class DividerViewTest extends ShellTestCase { "false", false); } @Test public void swapDividerActionForA11y() { mDividerView.setAccessibilityDelegate(mDividerView.mHandleDelegate); mDividerView.getAccessibilityDelegate().performAccessibilityAction(mDividerView, R.id.action_swap_apps, null); verify(mSplitLayout, times(1)).onDoubleTappedDivider(); } private static MotionEvent getMotionEvent(long eventTime, int action, float x, float y) { MotionEvent.PointerProperties properties = new MotionEvent.PointerProperties(); properties.id = 0; Loading Loading
libs/WindowManager/Shell/res/values/ids.xml +1 −0 Original line number Diff line number Diff line Loading @@ -25,6 +25,7 @@ <item type="id" name="action_move_tl_50" /> <item type="id" name="action_move_tl_30" /> <item type="id" name="action_move_rb_full" /> <item type="id" name="action_swap_apps" /> <!-- For saving PhysicsAnimationLayout animations/animators as view tags. --> <item type="id" name="translation_x_dynamicanimation_tag"/> Loading
libs/WindowManager/Shell/res/values/strings.xml +2 −0 Original line number Diff line number Diff line Loading @@ -90,6 +90,8 @@ <string name="accessibility_action_divider_left_30">Left 30%</string> <!-- Accessibility action for moving docked stack divider to make the right screen full screen [CHAR LIMIT=NONE] --> <string name="accessibility_action_divider_right_full">Right full screen</string> <!-- Accessibility action for swapping the apps around the divider (double tap action) [CHAR LIMIT=NONE] --> <string name="accessibility_action_divider_swap">Swap Apps</string> <!-- Accessibility action for moving docked stack divider to make the top screen full screen [CHAR LIMIT=NONE] --> <string name="accessibility_action_divider_top_full">Top full screen</string> Loading
libs/WindowManager/Shell/src/com/android/wm/shell/common/split/DividerView.java +8 −1 Original line number Diff line number Diff line Loading @@ -125,11 +125,13 @@ public class DividerView extends FrameLayout implements View.OnTouchListener { } }; private final AccessibilityDelegate mHandleDelegate = new AccessibilityDelegate() { final AccessibilityDelegate mHandleDelegate = new AccessibilityDelegate() { @Override public void onInitializeAccessibilityNodeInfo(View host, AccessibilityNodeInfo info) { super.onInitializeAccessibilityNodeInfo(host, info); final DividerSnapAlgorithm snapAlgorithm = mSplitLayout.mDividerSnapAlgorithm; info.addAction(new AccessibilityAction(R.id.action_swap_apps, mContext.getString(R.string.accessibility_action_divider_swap))); if (mSplitLayout.isLeftRightSplit()) { info.addAction(new AccessibilityAction(R.id.action_move_tl_full, mContext.getString(R.string.accessibility_action_divider_left_full))); Loading Loading @@ -172,6 +174,11 @@ public class DividerView extends FrameLayout implements View.OnTouchListener { @Override public boolean performAccessibilityAction(@NonNull View host, int action, @Nullable Bundle args) { if (action == R.id.action_swap_apps) { mSplitLayout.onDoubleTappedDivider(); return true; } DividerSnapAlgorithm.SnapTarget nextTarget = null; DividerSnapAlgorithm snapAlgorithm = mSplitLayout.mDividerSnapAlgorithm; if (action == R.id.action_move_tl_full) { Loading
libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/common/split/DividerViewTest.java +11 −2 Original line number Diff line number Diff line Loading @@ -36,6 +36,7 @@ import androidx.test.annotation.UiThreadTest; import androidx.test.ext.junit.runners.AndroidJUnit4; import androidx.test.filters.SmallTest; import com.android.wm.shell.R; import com.android.wm.shell.ShellTaskOrganizer; import com.android.wm.shell.ShellTestCase; import com.android.wm.shell.common.DisplayController; Loading Loading @@ -66,9 +67,9 @@ public class DividerViewTest extends ShellTestCase { public void setup() { MockitoAnnotations.initMocks(this); Configuration configuration = getConfiguration(); mSplitLayout = new SplitLayout("TestSplitLayout", mContext, configuration, mSplitLayout = spy(new SplitLayout("TestSplitLayout", mContext, configuration, mSplitLayoutHandler, mCallbacks, mDisplayController, mDisplayImeController, mTaskOrganizer, SplitLayout.PARALLAX_NONE, mSplitState, mHandler); mTaskOrganizer, SplitLayout.PARALLAX_NONE, mSplitState, mHandler)); SplitWindowManager splitWindowManager = new SplitWindowManager("TestSplitWindowManager", mContext, configuration, mCallbacks); Loading Loading @@ -98,6 +99,14 @@ public class DividerViewTest extends ShellTestCase { "false", false); } @Test public void swapDividerActionForA11y() { mDividerView.setAccessibilityDelegate(mDividerView.mHandleDelegate); mDividerView.getAccessibilityDelegate().performAccessibilityAction(mDividerView, R.id.action_swap_apps, null); verify(mSplitLayout, times(1)).onDoubleTappedDivider(); } private static MotionEvent getMotionEvent(long eventTime, int action, float x, float y) { MotionEvent.PointerProperties properties = new MotionEvent.PointerProperties(); properties.id = 0; Loading