* changes:
[RESTRICT AUTOMERGE]DisplayManager: Make sure RampAnimator sets property in linear space.
[RESTRICT AUTOMERGE]DisplayManager: Switch RampAnimator to ramp in HLG space.
cp of I96bf525fe3730e7bf6b4c1042c18ef96622248fd to solve leak.
Restricting automerge as the bug is already fixed on master, but the file has been converted to kotlin, so this cl can't be automatically patched there.
Fix: 217144034
Test: See other cl
Change-Id: Id81168475882e94fb81ea6c89388707e730da5f9
This fixes the case where RampAnimator is used the first time and
immediately jumps to the target brightness. In that case the property
was set to a value that has not been converted back into linear
space, causing an incorrect initial brightness value.
To avoid these bugs, consolidate setting of the property into one
function.
Bug: 217289549
Test: Cannot reproduce bug.
Change-Id: I2ccdaa51ddba062fc5de1209470b90eb429280db
This switches the ramp animator logic to ramp in the perceptual HLG
space, thereby making ramping appear linear to the human eye.
Bug: 204252940
Test: Verified on Pixel 6 Pro that ramping is much more linear and
consistent.
Change-Id: I946e1570e654eb25aa334be827ca3d15cba21c48
This change ensures that if the VCN's underlying network MTU is not
reported via the LinkProperties APIs (as in the case of Carrier WiFi),
the kernel values will be used (as possible).
Bug: 204813618
Test: Manual testing
Test: atest FrameworksVcnTests CtsVcnTestCases
Original-Change: https://android-review.googlesource.com/1877796
Change-Id: If291aa6b915e4da39152a679bbe3e40216b42f44
Merged-In: If291aa6b915e4da39152a679bbe3e40216b42f44
This patch ensures that all callbacks out of the VcnManagementService
are try/catch guarded to ensure that callbacks are not called and throw
an exception.
This is triggered when telephony dies, which results in the
subscriptions changing, and attempting to notify the policy listeners
triggers a DeadObjectException.
Bug: 217537578
Test: atest FrameworksVcnTests
Original-Change: https://android-review.googlesource.com/1969041
Change-Id: Ibfe82fb187b7989164e22919a72b8c36d2655902
Merged-In: Ibfe82fb187b7989164e22919a72b8c36d2655902
CallObjectMethod returns a local reference that's causing memory
leakage. We need to make sure all these local refs are deleted.
This change combines I7462bd9293b214d75df5196ae42b4da1da904e1a
(ag/16752598) and I85d68039a5f3951cb629fd4286b182c93a7293e1
(ag/16765005) from the master branch.
Bug: 214967397
Test: manual
Change-Id: Idb222eab7a498b23a194272543b2dab235eaf002
This is a follow up of ag/16406749
Bug: 195782998
Test: unit tests, manual test on device
Change-Id: Icb977d9a7591ffe48ae44bbe2ad521945b7b0139
Merged-In: Icb977d9a7591ffe48ae44bbe2ad521945b7b0139
(cherry picked from commit 5ab8466005)
How it leaks: When a session is destroyed, mDirectServiceInterface is
set to null. If an event is added to the buffer after this, it cannot be
flushed because of that. But the flush() call will still keep
rescheduling itself regularly (to handle the case of
mDirectServiceInterface not being ready when the session is created).
The flush message holds a reference to the session, which holds the
Context that created it (the Activity). The message effectively stays
forever in the handler queue, preventing it from being GC'd.
When destroyed, the mDestroyed flag is set which prevents new events
from being queued (through isContentCaptureEnabled()). However,
setContentCaptureContext() is missing this check. This cl adds it there.
Note: There is possibly a race condition if ContentCaptureSession calls
happen on different threads (Framework code always calls these methods
on the main thread). This will be fixed separately.
Bug: 204891006
Test: atest NexusLauncherTests:com.android.quickstep.StartLauncherViaGestureTests#testStressSwipeToOverview --iterations 5
Change-Id: If69a17e828d928007232db76af6e0cac16502875
(cherry picked from commit 97757ea0c4)
Test: manual - reboot the device, rotate, drag stuff into split
=> verify that the orientation of split while dragging is
correct
Bug: 216643100
Change-Id: I300ad7263bf2ac18575d92f057fdd9c13ef736a7
(cherry picked from commit 4a79d7cb97)
This was changed in ag/15886711, but it shouldn't be needed anymore as
for case we need to animate the close transition, isVisible() will stay
true until the app transition is finished. Otherwise we shouldn't need
to keep the surface as visible even if it is in the closing app list.
Without this fix, we may accidentally show the surface that has been
commited to be invisible, such as enter pip onUserLeaveHint.
Fix: 216145863
Test: manually verify with Google Meet.
Test: atest WmTests:ActivityRecordTests
Change-Id: Ib28651f5c4dc728d19f968adc56015836e307ef8
Merged-In: Ib28651f5c4dc728d19f968adc56015836e307ef8