Update the snap targets in minimized mode to reflect the correct targets
In minimized mode there is only 1 split snap target compared to regular portrait that has 30%, 50%, 70% targets. Update the accessibility options for minimized mode to reflect the correct targets. Also removed the middle target if there is only 1 split snap target. Test: using talkback, see custom options on divider handle in minimized mode Fixes: 78304300 Change-Id: I8421499616cf0fe503c1f6a081a2151098640a9c
This commit is contained in:
@@ -370,6 +370,14 @@ public class DividerSnapAlgorithm {
|
||||
return snapTarget;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return whether or not there are more than 1 split targets that do not include the two
|
||||
* dismiss targets, used in deciding to display the middle target for accessibility
|
||||
*/
|
||||
public boolean showMiddleSplitTargetForAccessibility() {
|
||||
return (mTargets.size() - 2) > 1;
|
||||
}
|
||||
|
||||
public boolean isFirstSplitTargetAvailable() {
|
||||
return mFirstSplitTarget != mMiddleTarget;
|
||||
}
|
||||
|
||||
@@ -180,16 +180,20 @@ public class DividerView extends FrameLayout implements OnTouchListener,
|
||||
@Override
|
||||
public void onInitializeAccessibilityNodeInfo(View host, AccessibilityNodeInfo info) {
|
||||
super.onInitializeAccessibilityNodeInfo(host, info);
|
||||
final DividerSnapAlgorithm snapAlgorithm = getSnapAlgorithm();
|
||||
if (isHorizontalDivision()) {
|
||||
info.addAction(new AccessibilityAction(R.id.action_move_tl_full,
|
||||
mContext.getString(R.string.accessibility_action_divider_top_full)));
|
||||
if (mSnapAlgorithm.isFirstSplitTargetAvailable()) {
|
||||
if (snapAlgorithm.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,
|
||||
if (snapAlgorithm.showMiddleSplitTargetForAccessibility()) {
|
||||
// Only show the middle target if there are more than 1 split target
|
||||
info.addAction(new AccessibilityAction(R.id.action_move_tl_50,
|
||||
mContext.getString(R.string.accessibility_action_divider_top_50)));
|
||||
if (mSnapAlgorithm.isLastSplitTargetAvailable()) {
|
||||
}
|
||||
if (snapAlgorithm.isLastSplitTargetAvailable()) {
|
||||
info.addAction(new AccessibilityAction(R.id.action_move_tl_30,
|
||||
mContext.getString(R.string.accessibility_action_divider_top_30)));
|
||||
}
|
||||
@@ -198,13 +202,16 @@ public class DividerView extends FrameLayout implements OnTouchListener,
|
||||
} else {
|
||||
info.addAction(new AccessibilityAction(R.id.action_move_tl_full,
|
||||
mContext.getString(R.string.accessibility_action_divider_left_full)));
|
||||
if (mSnapAlgorithm.isFirstSplitTargetAvailable()) {
|
||||
if (snapAlgorithm.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,
|
||||
if (snapAlgorithm.showMiddleSplitTargetForAccessibility()) {
|
||||
// Only show the middle target if there are more than 1 split target
|
||||
info.addAction(new AccessibilityAction(R.id.action_move_tl_50,
|
||||
mContext.getString(R.string.accessibility_action_divider_left_50)));
|
||||
if (mSnapAlgorithm.isLastSplitTargetAvailable()) {
|
||||
}
|
||||
if (snapAlgorithm.isLastSplitTargetAvailable()) {
|
||||
info.addAction(new AccessibilityAction(R.id.action_move_tl_30,
|
||||
mContext.getString(R.string.accessibility_action_divider_left_30)));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user