> Moving the code from ApiWrapper to Resource overlays for better maintainability
> Accounting for display cutouts in insets estimation
> Using same logic in display controller and view inset dispatching
Test: Verified on device
Bug: 221961069
Change-Id: I78466353563692ce3f7512b0146ef8b61ef14bc0
- Removed DeviceProfile.allowRotation and use DeviceProfile.isTablet instead, which only uses current density to calculate its value
- Reverted default allow_rotation preference handling to before ag/14234761
Fix: 203817448
Test: isTablet is set correctly in different screen sizes
Change-Id: Ic6c8dfc774e7787f62d489ad27720a7644c1e8c7
- The intent is not updated in certain cases which means that the
callback may not be made if Launcher gets recreated. Instead
have the tracker manage the set of registered callbacks.
- This change allows AbsSwipeUpHandler to continue to receive
onActivityInit calls even if Launcher restarts, and also to
handle a case where restarting while waiting for a page-settling
callback will continue to finish the gesture.
Bug: 183962705
Test: Force recreate at various points in the gesture
Change-Id: Ib5ead8c868e798e26e56776f57bd715c79d087cd
- This is practically a revert to http://ag/c/13687966/5 and refactored to use DisplayController.DisplayInfoChangeListener
- Make Launcher handle size and density change so transition is less janky when screen size changes
- Added fix in RecentsView to update state and TaskView when display profile changes
- Removed 720dp specific resoureces
- Removed unused widget_section_indent
- Removed unnecessary all_apps_background_canvas 600dp override that is not needed in AllApps+
- Moved remaining dp specific into DeviceProfile
- Simplified allowRotation logic to use single variable in DeviceProfile to determine if allow rotation is enabled by default
Fixes: 180803696
Test: manual
Change-Id: Iea0a7d1a0e14dc3613152dd3b3887450a2e1fc2f
- In RotationHelper, mLastActivityFlags defaults to -1, which is the same value as SCREEN_ORIENTATION_UNSPECIFIED. When the screen is folded, a new instance of RotationHelper is created, which attempts to reset setRequestedOrientation to SCREEN_ORIENTATION_UNSPECIFIED. But SCREEN_ORIENTATION_UNSPECIFIED is equal to mLastActivityFlags, and the call is skipped.
- The simpel fix is to default mLastActivityFlags to something else that is not a a valid value of setRequestedOrientation
Bug: 177320461
Change-Id: I1ca284149598745bfa612ee12e4da3b940b60288
(cherry picked from commit 8aa592f44620a8f57fa104819f8bba57c4360f95)
HandlerThread.getLooper blocks until the thread is ready. Instead
moving all looper dependency to the new thread itself.
Change-Id: I240e8c56b855a991433a7fe93875059e6dab146b
Launcher home screen rotation now works with fixed
transform. When using Quickstep while holding
the phone from an orientation different than
the orientation of the touch, the overview
shown will be that of the phone orientation,
not the touch orientation.
Easier to see this be quickswitching from
portrait to landscape app, turning phone, then
going to overview from the original region you
swiped.
Fixes: 150214193
Test: Created test apps and fixed them
to various rotations to test.
Change-Id: Ic6565cd0ed33c951f45ccb97278045c6070e438e
This reverts commit c0b289c93e.
Reason for revert: fixed in ag/10826395
Bug: 151727009
Change-Id: I0c71d5d47a6825c2445bf8dc9d8a9a1ca23f9e64
(cherry picked from commit 08c4d99237)
This sets the feature flag on launcher side
and also updates the setting in Settings.Global
Launcher DOES NOT listen to the Settings.Global
change from adb anymore. This should take
preference over setting it from command line.
Also fix a related swipe to home animation bug
that happened w/ merge conflict.
Fixes: 150260456
Test: Set and unset, visually verified behavior.
Tested w/ autorotate on and off.
Checked Settings.Global value correctly updated
via "adb shell settings get global
fixed_rotation_transform"
TODO: Update tests to reflect this new
default-on fixed rotation behavior.
Change-Id: Id95f006eb1e92a59e24b05567298fd21b1409b13
Also stop OrientationTouchTransformer from
spamming logs
b/150214193 should track properly handling
this in the future
Fixes: 146176182
Test: New vertical layout showed up when
swiping to Overview w/ landscape app.
Works for both autorotate on and off.
Change-Id: I3707cf7b5693be0fcf4d63491901f4ec00793f4f
Floating icon animation runs entirely in portrait
since that's what orienation launcher starts in.
Current app window target rects are in landscape to
be able animate to Overview correctly (which is not
in portrait since the leash from WM is in the same
orientation as that of foreground app).
Invert that rect as the animation from app window
to floating icon progresses.
Fixes: 148528795
Change-Id: Ie1149a1a8904afc80bd1986f8d67b6f2d88c49f2
WM is making changes which allows apps to maintain
their orientation independent of the orientation of
the foreground app. This allows recents to always start
in portrait even when the app currently running is in
landscape. This means we have to give the illusion of
a landscape oriented overview when user swipes up in
gesterual nav when launcher is started in portrait
configuration.
PagedOrientationHandler abstracts all coordinate specific
logic from Paged/RecentsView primarily, but also all
other dynamic calculations throughout launcher.
PagedViewOrientationState is the single point of exposure
to other classes that depend on those changes. The goal
is to also minimize holding state to allow for default
implementations of PagedOrientationHandler for all the
3p/Fallback classes. PagedViewOrientationState also
holds other data around rotation that isn't
specifically tied to view logic.
The fake landscape overview can be toggled with:
adb shell settings put global forced_rotation [0/1]
Fixes: 146176182
Change-Id: I65d8d4e9f92b93931cbe0053ccaf0cda8d2ffd6c
> Using a common class for both Launcher and RecentsActivity
> Removing static refenrece to LauncherModel and using a common pattern for
tracking activities
Bug: 141376165
Bug: 137568159
Change-Id: Ic1897abe6913ec78e25725118eedf5b468d5ec70
When auto-rotate is on, launcher allways allows rotation. This allows uses to use
locked rotation feature is available on the device
When auto-rotate is off, workspace does not allow rotation, but overview in quickstep
will allow rotation
Bug: 73872056
Change-Id: Ie12365c268fd5e4958634ed97b5a33dcadc691e2