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
Bug: 197687032
Test: Enable shell transitions and swipe up from a landscape app into
force-portrait Launcher
Change-Id: I2a35567ee0afe8a413c4feb37d6ab1d307498c5a
* Convert FlagReader interface to FlagListenable.
* Move Flag reading to FeatureFlags interface.
* Remove isEnabled(id, boolean) from all interfaces; make private in implementations where used.
Bug: 209081785
Test: atest FlagManagerTest
Change-Id: I8c90a67def242b5d2fa55d5effab8270ecafabb4
Now FOLD_UPDATE_START_CLOSING event is emitted when the angle decreases.
After each angle update, a timeout is started to finish the animation.
When the timeout is reached, FOLD_UPDATE_ABORTED is emitted.
The timeout logic has been moved from
PhysicsBasedUnfoldTransitionProgressProvider to DeviceFoldStateProvider.
This change should not create problems to
FixedTimingTransitionProgressProvider, as it doesn't use any
intermediate FOLD_UPDATE event.
Test: Locally on device
Test atest com.android.systemui.unfold.updates.DeviceFoldStateProviderTest
Bug: 208977663
Change-Id: Ibc5df1e089d6543e7cf6ee2e0ce3d48a0b24cc07
When AnimatorScale is set to zero (possible from settings),
the fold animation is disabled.
The change to UnfoldLightRevealOverlayAnimation is needed
because the overlay view is added independently from
UnfoldTransitionProgressProvider callbacks every time the
internal screen is turned on.
Test: Tested on device &&
atest com.android.systemui.unfold.util.ScaleAwareUnfoldProgressProviderTest
Bug: 208791440
Change-Id: Icda9ed6d708873768c4ac533b9c790ae1631b45c
Introduce ResourceFlag class and ParcelableFlag classes, from which
other flag types are based.
ResourceFlags always pull there default values out of
context.getResources. They can not, however, be directly
serialized and sent to the flag app.
For that, we now have ParcelableFlag. Prior to this change, we
were not properly alerting the Flag app about the current value of
flags when it asked. This change now also fixes that.
All flags are coerced into ParcelableFlag before being sent to the
app.
Note that ResourceFlags perform runtime logic, even in release builds,
meaing that the opportunity for optimizing them at compile time is
much smaller. Tools such as proguard will not have the opportunity
to strip them out entirely.
Bug: 203548827
Test: atest SystemUITests
Change-Id: I3c37ccae16c00237f9cffffc9c22580454ecb8cc
Was using the wrong info which caused a crash.
Bug: 208925002
Test: launch portrait activity, go to recents, launch landscape-only activity.
Change-Id: I48153f5eda8d027dd9126fe9d7136247959d3e35
We are running out of int flags for public API methods such as
PackageManager.getPackageInfo(String packageName, int flags). As a
solution, we will change the flags param to Flags objects. At the
same time, we deprecate the old methods that directly use int flags.
The new flags classes are: ApplicationInfoFlags, PackageInfoFlags,
ComponentInfoFlags and ResolveInfoFlags. Because there are already
annotations of the same names, we renamed the annotations to *FlagsBits.
Old API usage example:
getPackageInfo(pkgName, MATCH_UNINSTALLED_PACKAGES)
New API usage example:
getPackageInfo(pkgName, PackageInfoFlags.of(MATCH_UNINSTALLED_PACKAGES))
See b/204433742 for discussions.
CTS-Coverage-Bug: 206147270
BUG: 204432643
BUG: 204433659
Test: manual
Change-Id: I8ab2adad6907670c5879c043d170c950afefe46c
Update resources in floating rotation button
when configurations such as screen density, screen size,
current locale have changed.
Bug: 200103245
Test: change display size, locale, fold/unfold
-> check that floating rotation button resources
are updated
Change-Id: I140eeaf6df3dcca2fca42d5f9dd44ab59d068e57
Since live-tile is enabled, the foreground app is still the original
activity, the display rotation doesn't change by the recents app
activity. So the condition added in commit 95cb52a doesn't need to
be enabled.
Bug: 205979005
Test: 1. Disable auto-rotation and home rotation.
2. Launch an activity in portrait.
3. Rotate the device to landscape and press rotation button.
4. Enter overview (recents).
5. Return to the application (keep in landscape).
6. Return to home and launch the app again (restore to portrait).
Change-Id: Iccf87b2d66d57911cd49f2ea9080a71a85801e4c