diff options
| author | 2016-04-19 23:01:18 +0000 | |
|---|---|---|
| committer | 2016-04-19 23:01:20 +0000 | |
| commit | b77d0bcc840fbda8372c4042a1f2e83df8e12a83 (patch) | |
| tree | f8718449bd9aa552ed47b6e41bb1842a16f02d69 | |
| parent | 28baa37a5676297b7972cfd90a07fff5f54cf19b (diff) | |
| parent | ce9630da86342c7bf30f00d1ced34a1d051c55ba (diff) | |
Merge changes Ie3125ec8,Ifa149322,Ifa2ed84a into nyc-dev
* changes:
Tweaking accessibility actions for dock divider.
Ensure that the drag view is not dimmed.
Disallowing scrim activity from setting TaskDescription.
6 files changed, 90 insertions, 33 deletions
diff --git a/core/java/com/android/internal/policy/DividerSnapAlgorithm.java b/core/java/com/android/internal/policy/DividerSnapAlgorithm.java index 669e1efb9249..b8bc1618b3a3 100644 --- a/core/java/com/android/internal/policy/DividerSnapAlgorithm.java +++ b/core/java/com/android/internal/policy/DividerSnapAlgorithm.java @@ -330,6 +330,14 @@ public class DividerSnapAlgorithm { return snapTarget; } + public boolean isFirstSplitTargetAvailable() { + return mFirstSplitTarget != mMiddleTarget; + } + + public boolean isLastSplitTargetAvailable() { + return mLastSplitTarget != mMiddleTarget; + } + /** * Cycles through all non-dismiss targets with a stepping of {@param increment}. It moves left * if {@param increment} is negative and moves right otherwise. diff --git a/packages/SystemUI/res/values/ids.xml b/packages/SystemUI/res/values/ids.xml index 9697ea6f3788..94d79f27e67f 100644 --- a/packages/SystemUI/res/values/ids.xml +++ b/packages/SystemUI/res/values/ids.xml @@ -63,9 +63,10 @@ <item type="id" name="is_clicked_heads_up_tag" /> <!-- Accessibility actions for the docked stack divider --> - <item type="id" name="action_move_left" /> - <item type="id" name="action_move_right" /> - <item type="id" name="action_move_up" /> - <item type="id" name="action_move_down" /> + <item type="id" name="action_move_tl_full" /> + <item type="id" name="action_move_tl_70" /> + <item type="id" name="action_move_tl_50" /> + <item type="id" name="action_move_tl_30" /> + <item type="id" name="action_move_rb_full" /> </resources> diff --git a/packages/SystemUI/res/values/strings.xml b/packages/SystemUI/res/values/strings.xml index a03aa28c47c5..8e3ea4c946e0 100644 --- a/packages/SystemUI/res/values/strings.xml +++ b/packages/SystemUI/res/values/strings.xml @@ -1580,17 +1580,27 @@ <!-- Accessibility label for the divider that separates the windows in split-screen mode [CHAR LIMIT=NONE] --> <string name="accessibility_divider">Split-screen divider</string> - <!-- Accessibility action for moving down the docked stack divider [CHAR LIMIT=NONE] --> - <string name="accessibility_action_divider_move_down">Move down</string> - - <!-- Accessibility action for moving down the docked stack divider [CHAR LIMIT=NONE] --> - <string name="accessibility_action_divider_move_up">Move up</string> - - <!-- Accessibility action for moving down the docked stack divider [CHAR LIMIT=NONE] --> - <string name="accessibility_action_divider_move_left">Move left</string> - - <!-- Accessibility action for moving down the docked stack divider [CHAR LIMIT=NONE] --> - <string name="accessibility_action_divider_move_right">Move right</string> + <!-- Accessibility action for moving docked stack divider to make the left screen full screen [CHAR LIMIT=NONE] --> + <string name="accessibility_action_divider_left_full">Left full screen</string> + <!-- Accessibility action for moving docked stack divider to make the left screen 70% [CHAR LIMIT=NONE] --> + <string name="accessibility_action_divider_left_70">Left 70%</string> + <!-- Accessibility action for moving docked stack divider to make the left screen 50% [CHAR LIMIT=NONE] --> + <string name="accessibility_action_divider_left_50">Left 50%</string> + <!-- Accessibility action for moving docked stack divider to make the left screen 30% [CHAR LIMIT=NONE] --> + <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 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> + <!-- Accessibility action for moving docked stack divider to make the top screen 70% [CHAR LIMIT=NONE] --> + <string name="accessibility_action_divider_top_70">Top 70%</string> + <!-- Accessibility action for moving docked stack divider to make the top screen 50% [CHAR LIMIT=NONE] --> + <string name="accessibility_action_divider_top_50">Top 50%</string> + <!-- Accessibility action for moving docked stack divider to make the top screen 30% [CHAR LIMIT=NONE] --> + <string name="accessibility_action_divider_top_30">Top 30%</string> + <!-- Accessibility action for moving docked stack divider to make the bottom screen full screen [CHAR LIMIT=NONE] --> + <string name="accessibility_action_divider_bottom_full">Bottom full screen</string> <!-- Accessibility description of a QS tile while editing positions [CHAR LIMIT=NONE] --> <string name="accessibility_qs_edit_tile_label">Position <xliff:g id="position" example="2">%1$d</xliff:g>, <xliff:g id="tile_name" example="Wi-Fi">%2$s</xliff:g>. Double tap to edit.</string> diff --git a/packages/SystemUI/src/com/android/systemui/recents/views/TaskStackView.java b/packages/SystemUI/src/com/android/systemui/recents/views/TaskStackView.java index 6176d99a7c17..33d3dc06724e 100644 --- a/packages/SystemUI/src/com/android/systemui/recents/views/TaskStackView.java +++ b/packages/SystemUI/src/com/android/systemui/recents/views/TaskStackView.java @@ -1765,6 +1765,7 @@ public class TaskStackView extends FrameLayout implements TaskStack.TaskStackCal mTmpTransform, null); mTmpTransform.scale = finalScale; mTmpTransform.translationZ = mLayoutAlgorithm.mMaxTranslationZ + 1; + mTmpTransform.dimAlpha = 0f; updateTaskViewToTransform(event.taskView, mTmpTransform, new AnimationProps(DRAG_SCALE_DURATION, Interpolators.FAST_OUT_SLOW_IN)); } diff --git a/packages/SystemUI/src/com/android/systemui/stackdivider/DividerView.java b/packages/SystemUI/src/com/android/systemui/stackdivider/DividerView.java index 67c4008b4dc6..277c60bbb6b6 100644 --- a/packages/SystemUI/src/com/android/systemui/stackdivider/DividerView.java +++ b/packages/SystemUI/src/com/android/systemui/stackdivider/DividerView.java @@ -154,31 +154,62 @@ public class DividerView extends FrameLayout implements OnTouchListener, public void onInitializeAccessibilityNodeInfo(View host, AccessibilityNodeInfo info) { super.onInitializeAccessibilityNodeInfo(host, info); if (isHorizontalDivision()) { - info.addAction(new AccessibilityAction(R.id.action_move_up, - mContext.getString(R.string.accessibility_action_divider_move_up))); - info.addAction(new AccessibilityAction(R.id.action_move_down, - mContext.getString(R.string.accessibility_action_divider_move_down))); + info.addAction(new AccessibilityAction(R.id.action_move_tl_full, + mContext.getString(R.string.accessibility_action_divider_top_full))); + if (mSnapAlgorithm.isFirstSplitTargetAvailable()) { + info.addAction(new AccessibilityAction(R.id.action_move_tl_70, + mContext.getString(R.string.accessibility_action_divider_top_70))); + } + info.addAction(new AccessibilityAction(R.id.action_move_tl_50, + mContext.getString(R.string.accessibility_action_divider_top_50))); + if (mSnapAlgorithm.isLastSplitTargetAvailable()) { + info.addAction(new AccessibilityAction(R.id.action_move_tl_30, + mContext.getString(R.string.accessibility_action_divider_top_30))); + } + info.addAction(new AccessibilityAction(R.id.action_move_rb_full, + mContext.getString(R.string.accessibility_action_divider_bottom_full))); } else { - info.addAction(new AccessibilityAction(R.id.action_move_left, - mContext.getString(R.string.accessibility_action_divider_move_left))); - info.addAction(new AccessibilityAction(R.id.action_move_right, - mContext.getString(R.string.accessibility_action_divider_move_right))); + info.addAction(new AccessibilityAction(R.id.action_move_tl_full, + mContext.getString(R.string.accessibility_action_divider_left_full))); + if (mSnapAlgorithm.isFirstSplitTargetAvailable()) { + info.addAction(new AccessibilityAction(R.id.action_move_tl_70, + mContext.getString(R.string.accessibility_action_divider_left_70))); + } + info.addAction(new AccessibilityAction(R.id.action_move_tl_50, + mContext.getString(R.string.accessibility_action_divider_left_50))); + if (mSnapAlgorithm.isLastSplitTargetAvailable()) { + info.addAction(new AccessibilityAction(R.id.action_move_tl_30, + mContext.getString(R.string.accessibility_action_divider_left_30))); + } + info.addAction(new AccessibilityAction(R.id.action_move_rb_full, + mContext.getString(R.string.accessibility_action_divider_right_full))); } } @Override public boolean performAccessibilityAction(View host, int action, Bundle args) { - if (action == R.id.action_move_up || action == R.id.action_move_down - || action == R.id.action_move_left || action == R.id.action_move_right) { - int position = getCurrentPosition(); - SnapTarget currentTarget = mSnapAlgorithm.calculateSnapTarget( - position, 0 /* velocity */); - SnapTarget nextTarget = - action == R.id.action_move_up || action == R.id.action_move_left - ? mSnapAlgorithm.getPreviousTarget(currentTarget) - : mSnapAlgorithm.getNextTarget(currentTarget); + int currentPosition = getCurrentPosition(); + SnapTarget nextTarget = null; + switch (action) { + case R.id.action_move_tl_full: + nextTarget = mSnapAlgorithm.getDismissEndTarget(); + break; + case R.id.action_move_tl_70: + nextTarget = mSnapAlgorithm.getLastSplitTarget(); + break; + case R.id.action_move_tl_50: + nextTarget = mSnapAlgorithm.getMiddleTarget(); + break; + case R.id.action_move_tl_30: + nextTarget = mSnapAlgorithm.getFirstSplitTarget(); + break; + case R.id.action_move_rb_full: + nextTarget = mSnapAlgorithm.getDismissStartTarget(); + break; + } + if (nextTarget != null) { startDragging(true /* animate */, false /* touching */); - stopDragging(getCurrentPosition(), nextTarget, 250, Interpolators.FAST_OUT_SLOW_IN); + stopDragging(currentPosition, nextTarget, 250, Interpolators.FAST_OUT_SLOW_IN); return true; } return super.performAccessibilityAction(host, action, args); diff --git a/packages/SystemUI/src/com/android/systemui/stackdivider/ForcedResizableInfoActivity.java b/packages/SystemUI/src/com/android/systemui/stackdivider/ForcedResizableInfoActivity.java index 177296bc8c03..18834edaff05 100644 --- a/packages/SystemUI/src/com/android/systemui/stackdivider/ForcedResizableInfoActivity.java +++ b/packages/SystemUI/src/com/android/systemui/stackdivider/ForcedResizableInfoActivity.java @@ -18,6 +18,7 @@ package com.android.systemui.stackdivider; import android.annotation.Nullable; import android.app.Activity; +import android.app.ActivityManager; import android.os.Bundle; import android.view.KeyEvent; import android.view.MotionEvent; @@ -75,4 +76,9 @@ public class ForcedResizableInfoActivity extends Activity implements OnTouchList finish(); return true; } + + @Override + public void setTaskDescription(ActivityManager.TaskDescription taskDescription) { + // Do nothing + } } |