History log of /frameworks/base/core/java/com/android/internal/policy/DividerSnapAlgorithm.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
303071233bff3cd4242f24d00a104a14091d54e0 13-Apr-2018 Matthew Ng <ngmatthew@google.com> Fixes splitscreen when executed from fullscreen app

Fixes splitscreen from the right for launching splitscreen from
fullscreen app including pixel launcher and 3rd party launchers. With
3rd party launchers, the experience is the same as Android O. With pixel
launcher since launcher and recents are merged, it will split to
minimized mode. When pixel launcher is used, the recents stack is
ignored.

Fixes: 73250406
Fixes: 78247419
Test: use split screen; invoke command with supportapp.apk in b/78247419
adb shell am broadcast -a launcher-acc --ei cmd 1
Change-Id: I70b0551c517465b3a059ff7d0641c27f71e8114e
/frameworks/base/core/java/com/android/internal/policy/DividerSnapAlgorithm.java
6317df6e1e7bc1338089c8402efadccb39201aba 05-May-2018 Matthew Ng <ngmatthew@google.com> 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
/frameworks/base/core/java/com/android/internal/policy/DividerSnapAlgorithm.java
62c7846bf89c170f1f41624866d3249a4e30a33a 09-Apr-2018 Matthew Ng <ngmatthew@google.com> Secondary split screen app will be next to the navigation bar (1/2)

Refactored docked position code into PhoneWindowManager to determine
which side the docked app should go based on the position of the nav bar
in landscape (as portrait will only have top). Fixed the split screen
entrance animation for quick step's overview.

Change-Id: I30f1be9d791c23f4cd197f17487609964f78fac0
Fixes: 73250406
Test: play around with splitscreen and minimized mode
Test: atest com.android.server.policy.PhoneWindowManagerTest
/frameworks/base/core/java/com/android/internal/policy/DividerSnapAlgorithm.java
f59a4132e8d65ab253f3f4cdd1e69f3f99526ba8 25-Oct-2017 Matthew Ng <ngmatthew@google.com> Add support for minimized mode for right dock side for tablets (1/2)

Tablets have the ability to dock to the right side in landscape. This
change supports minimized mode for right dock side.

Test: run-test CtsActivityManagerDeviceTestCases
android.server.am.ActivityManagerDockedStackTests#
testMinimizedFromEachDockedSide
Change-Id: Ie879bdf7bf74226c0ceda9295f9de2004fd6a9b5
Fixes: 68017311
/frameworks/base/core/java/com/android/internal/policy/DividerSnapAlgorithm.java
7ccdb52fc98da546bdd565d0757f1fa09522862d 19-Apr-2017 Matthew Ng <ngmatthew@google.com> Increases the minimized width in landscape by statusbar height

Adds an extra 24dp (statusbar inset height) to the minimized width
in landscape and seascape.

Change-Id: Ia7b6b665a4ef01e5998d1ada0bbb4db02abb7f97
Fixes: 36529938, 36531002
Test: manual
/frameworks/base/core/java/com/android/internal/policy/DividerSnapAlgorithm.java
e15352e516fb6ecde12866f0eb27c32470ddbded 21-Dec-2016 Matthew Ng <ngmatthew@google.com> Splitscreen for minimized state that works with resizable launchers

If a launcher is resizable, going to minimized mode (dock task and then
press home) would show a cropped height of the task at the top in a
minimized state and the fullscreen stack would show the home launcher
which takes the rest of the remaining height. If the launcher is not
resizable, it will default the original behavior.

To enable this in a launcher, add android:resizeableActivity="true" in
the AndroidManifest.xml in the <application/> tag.

Test: manual - rotating while minimized, minimizing using dragging task
or holding overview nav button, installing resizable launcher with a
non-resizable launcher
Fixes: 32504542
Change-Id: Idf4015b40f9bec81b70f146f0f2d7df8ccfb4cf0
/frameworks/base/core/java/com/android/internal/policy/DividerSnapAlgorithm.java
8563943bd39107b5a7ff9ea475592d0040423ba1 07-May-2016 Jorim Jaggi <jjaggi@google.com> Fix smallest width configuration calculation

For calculating the smallest width, we need to iterate through all possible
orientations, snap the task bounds to a valid snap target and then use the
smallest width across all orientations.

In addition to that, when flinging the divider handle to the bottom of the
screen, we need to pass in fullscreen task bounds to avoid that this new
logic applies so the maximizing app only receives one configuration change.

Change-Id: I37aa9a40938517dfaf26770eb41327d76aec7c62
Fixes: 28469673
/frameworks/base/core/java/com/android/internal/policy/DividerSnapAlgorithm.java
9832f8f463a7d5448af2294bce05eac85f4dbef0 26-Apr-2016 Winson <winsonc@google.com> Fixing issue with docking being disallowed for secondary user.

- When a task is docked, the context is not correct for the given user.

Bug: 28195260
Change-Id: I59f73caf818d294c146d215c2bd31dbe1d4c7c5a
/frameworks/base/core/java/com/android/internal/policy/DividerSnapAlgorithm.java
ce9630da86342c7bf30f00d1ced34a1d051c55ba 19-Apr-2016 Winson <winsonc@google.com> Tweaking accessibility actions for dock divider.

- Adding tl_full/70%/50%/30%/rb_full

Bug: 27724715
Change-Id: Ie3125ec81e6463696cf56640c6b86f9cfcbda945
/frameworks/base/core/java/com/android/internal/policy/DividerSnapAlgorithm.java
19cf2972582198484816ac15ba83a4f46946082b 08-Apr-2016 Jorim Jaggi <jjaggi@google.com> Disable snap targets that make apps <220dp

- Make minimal task size 220dp.
- Disable upper and lower targets if they result in less
than 220dp task size.
- If even the middle target doesn't allow 220dp task size,
disable entering split screen altogether.

Bug: 26451260
Change-Id: I06e358c9b3da0172c5def75cdadf975f87f9fa57
/frameworks/base/core/java/com/android/internal/policy/DividerSnapAlgorithm.java
a212999f245032f033e6a0993fd2be9832a9b9cc 04-Mar-2016 Muyuan Li <muyuanli@google.com> Added shortcut key to dock windows

Meta + [ / ] will dock top window to left / right or cycle
between 1/3 1/2 2/3 of screen if it's already in docking mode

Change-Id: I546418235a9b9699d406b04f52914c85bd950532
(cherry picked from commit 63635675b56564a17e3897a221d73a19cfbc77f7)
/frameworks/base/core/java/com/android/internal/policy/DividerSnapAlgorithm.java
81ba11eccbc2519338782100c13cf4a5909ad6be 04-Feb-2016 Jorim Jaggi <jjaggi@google.com> Put dismiss end target at navigation bar

This makes the animation when exiting docked mode a bit nicer
when you fling the divider towards to the navigation bar. However,
since the divider ends at the navigation bar, we need to immediately
dismiss it instead of fading out when the divider is fully occluded
by the navigation bar.

Change-Id: Ic5432fd118cb71be36485667b2c537caf5065ce5
/frameworks/base/core/java/com/android/internal/policy/DividerSnapAlgorithm.java
1b12ef55b74f47eedde8afe22b997d40c3668a31 30-Jan-2016 Jorim Jaggi <jjaggi@google.com> Divider tuning

- Take insets into account for calculating dismissing fraction,
but don't dim into 100% when the device has insets at that
side.
- When applying parallax to the top side, apply less.

Change-Id: Id1af37e6f7af43ec3682dad4ad1ce68034301b4d
/frameworks/base/core/java/com/android/internal/policy/DividerSnapAlgorithm.java
8f8155ba8a1c66d539101e55f2d06ae0422682c0 26-Jan-2016 Jorim Jaggi <jjaggi@google.com> Dim harder when dismissing

Also fix a bug when selecting the dim target stack.

Change-Id: Id9d5e28caf5e810c7eef1e3b0fd7a9f945f8d146
/frameworks/base/core/java/com/android/internal/policy/DividerSnapAlgorithm.java
50cd6361d7cb50bdc0ee199f42307885abc65f0b 23-Jan-2016 Jorim Jaggi <jjaggi@google.com> Refine divider behavior

- Switch earlier to the dismissing/fullscreen layout, so
we minimize holes.
- For the bottom/right one, switch also earlier to the larger size to
minimize holes. We can't do this for the upper one because it will be
confusing there if the layout bounds doesn't equal the bounds while
snapping.

Change-Id: I8f065514f7aaa15ae76af648794ab8b23302e534
/frameworks/base/core/java/com/android/internal/policy/DividerSnapAlgorithm.java
df012d5102735412d9f38513c103aa53df4bcab9 16-Jan-2016 Jorim Jaggi <jjaggi@google.com> Divider tuning

- Make it harder to dismiss
- When dragging from the bottom, don't allow dismissing at the top

Change-Id: Ifd2de38abece7b996a813af41dcf777fa5cd1c18
/frameworks/base/core/java/com/android/internal/policy/DividerSnapAlgorithm.java
3e8747414520ee348cf4b9c4a6afd9ff80b5a8f8 07-Jan-2016 Winson <winsonc@google.com> Improving drag and drop animations.

- Expanding drop targets to indicate the size of the to-be docked window
- Fixing animation when dropping task
- Fixing drag view z order
- Fixes issue where the dock divider position in WM is not exact
- Requiring user to move the slop distance before accepting drops

Change-Id: I2f6eab504db7126c19e0c680629e89a39e7512e3
/frameworks/base/core/java/com/android/internal/policy/DividerSnapAlgorithm.java
d434dcbfc9407baad28b6b40fea75b1b6050ad7e 06-Jan-2016 Jorim Jaggi <jjaggi@google.com> When creating docked stack, use SnapAlgorithm

To make sure the bounds snapped to a snap position are
set from the very beginning.

Change-Id: I0ebc463926dd17e0deeefc211b097f28a6456b96
/frameworks/base/core/java/com/android/internal/policy/DividerSnapAlgorithm.java
737af724eb31f513386e91ee5510cc6991350937 31-Dec-2015 Jorim Jaggi <jjaggi@google.com> Snap docked stack after screen rotation

- Move DividerSnapAlgorithm to com.android.internal, also move
some utility stuff into DividerUtils which is used from both
SystemUI and window manager
- When the screen rotation changes, rotate the stacks like before
but then also snap the docked stack to a valid snap position.

Change-Id: I9e1aa13f42f398a25c9016e6f20395ee212e405b
/frameworks/base/core/java/com/android/internal/policy/DividerSnapAlgorithm.java
3dc52ed1799f96deaf802a5304f7301463dec58f 11-Jan-2016 Winson Chung <winsonc@google.com> Revert "Snap docked stack after screen rotation"

This reverts commit e65d6bb2072471e63b93aa14a288bc59ed86208f.

Change-Id: I245aa9be3ea98ff742e02b02f6f1d344bc2e8182
/frameworks/base/core/java/com/android/internal/policy/DividerSnapAlgorithm.java
e65d6bb2072471e63b93aa14a288bc59ed86208f 31-Dec-2015 Jorim Jaggi <jjaggi@google.com> Snap docked stack after screen rotation

- Move DividerSnapAlgorithm to com.android.internal, also move
some utility stuff into DividerUtils which is used from both
SystemUI and window manager
- When the screen rotation changes, rotate the stacks like before
but then also snap the docked stack to a valid snap position.

Change-Id: Ifb0c65dfbdfca2343a76b12de982c0701fe0c3ab
/frameworks/base/core/java/com/android/internal/policy/DividerSnapAlgorithm.java