Even though these surfaces/transactions are unreachable, it still
takes time for the GC/NativeRegistry/FinalizerQueue to actually
flush/free references (even if you force GC, it won't flush the
NativeRegistry/FinalizerQueue). This skews the results of our
memory benchmark tests since they measure instantaneous memory.
So, add logic to manually release Transactions/SurfaceControls
when we know they won't be used. This is extra tricky due to
unparceling creating new refcounts. To resolve this, we assume
that all remotes are getting a COPY of all surfaces and then we
make deep-ish copies on the CALLER side if the binder is actually
local. We can't alter the logic on the receiver side because the
binders are one-way and thus PID information isn't available.
Bug: 258913831
Test: systemui-notification-memory-suite-demo and check aggregates
Change-Id: If094e7eeb248a8674e8094cf5cf3019b2cd58047
The Transition object itself used to be the token; however,
this means binder can hold onto it and prevent GC. This is
also more consistent with how WM handles tokens in general
Bug: 258913831
Test: atest TransitionTests
Change-Id: Ibe04cca04dd517629bd2fec707224574293a1bc2
Fixes the logic that intended to filter out window decorations for
non-leaf tasks. Previously, non-root leafs were mistakenly skipped
instead of their parents, which went unnoticed until freeform tasks
were nested and the non-root leafs were missing the caption bar.
Bug: None
Test: nest freeform tasks, leaf tasks have window decorations.
Change-Id: Ia958fb43319d17a0e33e28497e52293954706416
Looks like a simple typo. I found it confusing, thought the function had
something to do with media.
Bug: 260624151
Test: passing existing tests.
Change-Id: I4a5f821a44d4eb32aa566a4c7ba2505ed8d35f88
Merged-In: I4a5f821a44d4eb32aa566a4c7ba2505ed8d35f88
(cherry picked from commit 65555750a3)
Copies the logic of user manager which defaults to the device resources
in order to determine if user switcher is enabled by default.
Fixes: 254240785
Test: Added a unit test.
Test: wipe device. Skip setup. Open user switcher, observe that there
should be an add button in the fullscreen user switcher.
Change-Id: I0864de61e7bb9dd7436082f2bf486cf4887a192a
Bug: 259454430
Bug: 238425913
Test: `adb shell dumpsys activity service
com.android.systemui/.SystemUIService WifiTableLog` -> the first logs
have all the columns with the Inactive network values
Test: atest PairwiseFlowTest
Test: atest TableLogBufferTest
Change-Id: Iae6b1b70aadc7ac0459b6b800191ff8f2103e244
re-organize tests based on categories: on-device and robolectric
Fixes: 257246579
Test: SysuiResourceLoadingTest
Change-Id: I8f31f99e612f4aaaadcb6c8df9f46d9388cfec9b
Bug: 258493176
Test: Tested manually, as discussed with gwasserman@, it is not feasible to write a test for this right now.
Change-Id: I30e5a587ae8121dbbfc61e15f6b904e67ee52a91
This reverts commit c6ca8afec1.
Reason for revert: actually we don't want to do this; see comments on original commit
Change-Id: I4495bb3ae1cf0be0997efdbdaf150c2a4f63c450
It adds a new condition when the large screen is in landscape, the
media controls is on lockscreen, and the next location will be in qs.
the media controls should not animate while switching from lockscreen
location to qs location
Bug: 251717467.
Bug: 252981595.
Test: atest MediaHierarchyManagerTest.
Test: Check the media control is not flashing anymore.
Change-Id: Ib242e7f6e87191fc6094aed260e4828ca5f13d70
Add margin when not on stand so the text isn't as close to under display fingerprint sensor.
Support multiple device heights
Bug: 259681713
Test: verified manually with simulated now playing song, and physically on stand
Change-Id: I409b8e8662d726c8f08b8a2a6733d6dc9efe6830
TrustAgents currently show the string "Device was locked manually" if
the trustagent times out, or if lockUser() was called. Changed to show a
more generic string, informing the user that they need to authenticate
with whatever credentials they have set up (instead of using the
trustagent).
Test: LockPatternUtilsTest. Manual test lockUser and trust timeout, verify biometrics works and string appears.
Bug: 243710694
Change-Id: Ia2f3c560ad0f959f0117f8967f556c3c026747a3
- Each QSPanelController* class had its own OnConfigurationChangeListener,
in addition to an overridable method in the base class that was called
in the listener - moved the child class listener code into that method
so there's a single listener registered.
- When reattaching the media host after an orientation change,
explicitly call setLayoutParams to ensure that a layout update is
requested
- Add more info about current config to dumpsys
Bug: 198319256
Test: atest com.android.systemui.qs
Test: manual - verify media view looks correct when rotating
Change-Id: I5b34ba85e98b4fbf8fe3b24893d0423146aa5f75
Merged-In: I5b34ba85e98b4fbf8fe3b24893d0423146aa5f75
(cherry picked from commit 48cd3b609d)
Previously letterbox corners were not rounded
when taskbar was minimized.
This is because taskbar insets height was
smaller than taskbar_frame_height
This check is not necessary, and crop
of the application window is applied correctly
Change-Id: Ib3f0737b6cfd593a7bf3dbf9205e4cc9a3f9b506
Bug: 259679233
Test: manual
Since the targetHost should be measured correctly, and it sets
the child view's size when it is added (either by remeasuring
or by directly setting it), setting it again to the target bounds
is unnessecary and potentially buggy.
Additionally, when we obtain a view state, we always obtain it
at an expansion of 1f. This prevents any squishiness from being
applied when remeasuring.
Test: Manual
Bug: 232528163
Change-Id: I0a4e6c457663dfe376ad7754f6d151f47d3aeaf3
Bug: 256687331
Test: New Unit test, verified manually via toggling flag and activating flashlight quick affordance
Change-Id: I833f60bcd0f6b2f4049a0a2a5de2de0b41f6283f