This CL creates a new DesktopNavbarButtonsViewController class to allow
for taskbar buttons and status icons customization on desktop
environment.
Recall: http://recall/clips/1f3b88e2-9f4e-4291-a9fe-a17641d1fd0c
Bug: 213964564
Bug: 196757951
Test: Switch between different system navigation modes and verify the
desktop taskbar buttons/status icons stay on screen, and are functional.
Change-Id: I05846b61689213ded88b8f49460aced88e49fd65
This runs ktfmt on all unfold shared lib files. In this way there is always only one valid and consistent way to format our files.
+ Some documentation comment spacing refactored to look nicer.
Bug: 193798864
Test: m
Change-Id: I031a6e8c580ff763f9d2f4ee364807f1d405ba6d
Make sure to delegate recent transition to launcher after split screen
activated.
Bug: 206487881
Test: manual check swipe split-pair to overview panel and swipe to home
behavior
Change-Id: I1177b1efdd7a45e8f9ec162b2155dbea1660e1af
Android T allows apps to declare a runtime receiver as not exported
by invoking registerReceiver with a new RECEIVER_NOT_EXPORTED flag;
receivers registered with this flag will only receive broadcasts from
the platform and the app itself. However to ensure developers can
properly protect their receivers, all apps targeting T or later
registering a receiver for non-system broadcasts must specify either
the exported or not exported flag when invoking #registerReceiver;
if one of these flags is not provided, the platform will throw a
SecurityException. This commit updates all the exposed receivers
with a new RECEIVER_EXPORTED_UNAUDITED flag to maintain the existing
behavior of exporting the receiver while also flagging the receiver
for audit before the T release.
Bug: 161145287
Test: Build
Change-Id: I5faa64ae0d2b22b62390bf13cb2b87fd6926e0c7
UnfoldTransitionProgressProvider is used in sysui and in other places that don't use dagger (e.g. Launcher).
However, we want to use dagger for all unfold transition related classes.
The solution in this cl is to create FoldSharedComponent. If an app that doesn't use dagger need UnfoldTransitionProgressProvider (or other shared classes), it can create the component with the factory, and get those object (now created by dagger, previously manually created).
If the app uses dagger, UnfoldSharedModule should be used instead.
The external interface is not changed in this cl: createUnfoldTransitionProgressProvider is left as it was before, therefore launcher doesn't require any change and continues to work as before.
Test: atest com.android.systemui.unfold
Test: Manually tested
Bug: 213908821
Change-Id: I22885ec15fed99254405e26ed2fe99a9567625b6
A new TransitionProgressListener is added to start and stop the jank monitor during the transition. This is a no-op if the jank monitor is disabled.
The reason why it is added in StatusBarWindowController is that InteractionJankMonitor needs an attached to begin, and the status bar should always be present during the animation.
Bug: 213862831
Test: Running test suite in forrest with config in g3
Change-Id: I99dcd4e879b9c2c47611096b29b164881e8714c7
Before, the surface will be removed, and the children will be reparented
to root in a separate transaction when animation is done. That would
cause a flicker because the reparented children may be above the
rotation activity.
Bug: 206094140
Test: manually test expanding PIP
Change-Id: I0f16b7590d4bd0f4c377158d555cb94f28f134cd
stopAndDestroy() was being called from the main thread, while
registration was happening on the background. This would lead to
concurrency bugs because this class is not thread safe.
Test: atest RegionSamplingHelperTest
Fixes: 201962411
Change-Id: I01290f5931972ad3eb322e7dddc44e002324e405
The aim of this class it to output fold state changes with the time between them.
Those will be logged in a follow up change to uptimize fold/unfold experience.
+ Changed files have been reformatted according to ktfmt. Those are minimal changes.
+ Making some return type explicit in dagger modules
Bug: 198305865
Test: atest FoldStateLoggingProviderTest
Change-Id: I3dcfa742f2cf3c712796b5c6f5481f319b680a12
All FOLD_UPDATE_ABORTED emissions were due to device stuck in half opened state.
This will allow us to log FULL_OPEN, HALF_OPEN and FULL_CLOSED states easily.
+ Removed some unused states.
+ DeviceFoldStateProviderTest.kt formatted with ktfmt
Bug: 198305865
Test: atest DeviceFoldStateProviderTest
Change-Id: Iadbe4bdc4cbdf2720efb46fbd69cfadf0b8357a8
This cl adds an always present listener to UnfoldTransitionProgressProvider to log a trace when the animation is running, and it's progresses with a counter.
Bug: 203391751
Test: Traced with perfetto on top of this change and verified it is present as expected
Change-Id: I04062587b47a6238d969dc196ce06bb712ed0840
Prevent it throws index out of bounds exception when entering split pair
from overview panel. And make sure to update split screen state properly
when enter split transition got merged to other transition.
Fix: 210852531
Bug: 206487881
Test: Trigger split screen, swipe up to overview, verified it won't hang
when select split pair from overview panel.
Change-Id: Ifc5c224b7185224b811e6e2e7fa5d798c99bc6b1
Fixes: 205503732
Test: tap rotation button in vibration only mode
Change-Id: I8fe29afc03353943b56fea9e80618441f7bca174
(cherry picked from commit 8f30dd7aea)
Thanks to this, we will be able to create a dashboard of the time needed to turn on the screen after unfolding the device.
Test: atest DeviceFoldStateProviderTest
Test: atest KeyguardViewMediatorTest
Test: atest UnfoldLatencyTrackerTest
Bug: 209963184
Change-Id: I078be6431e1053bd9658b5756ab2d54f6f28c630
This CL adds toggle notification panel function for new buttons in Kingyo taskbar.
Bug: 199333223
Test: m, verify that clicking the new buttons will expand/collapse quick settings and notification panel
Recall: http://recall/clips/993bc14b-98a7-4d7d-98c4-17ba271d4da9
Change-Id: Iacec5b4aa1ea6d89e084c0a7c91ee62d2bbba8ae
- Do not bring split to top on entering PiP
When swiping up to home (or other cases) triggers one of the
split-screen children enters PiP, do not try to bring the other task
to top since the pair should be considered invisible.
- When entering PiP from split screen or non-auto PiP case, use the
alpha information in PictureInPictureSurfaceTransaction to hide the
task which would later be turned back on to avoid flicker.
Bug: 190855091
Bug: 205894095
Video: http://recall/-/aaaaaabFQoRHlzixHdtY/42RWtayanp2qG0mHSf4Q5
Test: manual, enter PiP from split-screen, see Video
Change-Id: I1559748cd583c20d79ee458822d66e7801733d3a