As documented in art/runtime/jni/jni_internal.cc, ART has deviated
from the RI by using a 4-byte encoding instead of the 3-byte encoding
required by the JNI specification.
Some users are okay with this 4-byte encoding (where they control
both the reading and writing logic) but other users require
compatibility with the DataOutput/DataInput API contract, so this
change lets users request either behavior.
This change now exercises all tests in both 4-byte and 3-byte modes,
and exhaustively confirms that all valid code-points match the
DataOutput/DataInput contract when in 3-byte mode.
Benchmark results still show significant performance benefits when
using this 3-byte encoding over the upstream RI:
timeRead_Upstream_mean (ns): 5090068
timeRead_LocalUsing3ByteSequences_mean (ns): 1996032
timeRead_LocalUsing4ByteSequences_mean (ns): 1813250
timeWrite_Upstream_mean (ns): 3856276
timeWrite_LocalUsing3ByteSequences_mean (ns): 1632697
timeWrite_LocalUsing4ByteSequences_mean (ns): 886503
Bug: 236923096
Test: atest FrameworksCoreTests:CharsetUtilsTest
Test: atest FrameworksCoreTests:FastDataTest
Test: atest FrameworksCoreTests:XmlTest
Test: atest FrameworksCoreTests:BinaryXmlTest
Test: ./frameworks/base/libs/hwui/tests/scripts/prep_generic.sh little && atest CorePerfTests:FastDataPerfTest
Change-Id: Ibddd36410a0d4a909522de011f23a337b53d6889
FrameTracker has some ViewRootImpl invocations that it would be better
to make FrameTracker accesses run on either main or ui thread.
Bug: 200938639
Test: atest InteractionJankMonitorTest FrameTrackerTest
Change-Id: I91e9536293a694f3d110bda583a32b5918c96c55
In NotificationStackScrollLayout
- Begin instrument in clearNotifications()
- End in onClearAllAnimationsEnd()
Note: due to all child views run clear anim concurrently,
we just monitor parent(NSSL).
Bug: 238863970
Test: atest SystemUITests
Test: make and get perfetto trace
Change-Id: I705d03357a5a458a7f9eae5ecc5c4cfd7811cf7c
AIDL can't accept subclasses, see more info in the bug
Bug: 238277108
Fixes: 238277108
Test: follow steps in the bug, click on share
Change-Id: Ie691df4566e6b622c868bbed4377afc1ee82807d
Add a scene animation - image thumbnail in Chooser to full-size image in
the editor - when the thumbnail is visible.
Finishing Chooser activity while the transition animation is running
produces an effect of "flashing" background (as the activity disappears
before the animation completed). Thus the call to finish the activity is
delayed until the activity is stopped (i.e. becomes fully invisible).
Fix: 231448720
Test: Use 'Files' app to share an image, select Edit in the Chooser,
observe animation (optionally slow down the animation in the developer
settings)
Test: The same as the previous test but in the split-screen mode.
Test: Slow-down animation, select "edit" in the chooser and cancel the
animation mid-flight. The ChooserActivity pauses and resumes and
remains overall functional (had to slow down the fade-out animation in
the code). The animation in this case is broken but
addressing this case is beyond the scope of this change.
Test: Use a mock app with the dialog-themed activity instead of the
system image editor; check that Chooser fades out and finishes in
background.
Test: Accessibility with talk-back on.
Change-Id: I982b9b2a8a049b5986dce521ee1abcd9ad83ba38
Client insets controller can request to hide system bars to enter
immersive mode. However, there're cases force-show system bars like in
split screen or freeform mode. This makes sure the background view of
system bars are always visible while force-showing.
Fix: 234196894
Test: put an immersive app in split, verified system bars background
won't be invisible
Change-Id: Ia167bce9e64cd81a2ade499f8c6528384d957209
Adds an activity that inherits ChooserActivity
to select an app in the partial screen sharing
flow under a feature flag.
It doesn't have a proper visual design, analytics,
enterprise policies handling.
Bug: 218314434
Test: start partial screen sharing
Change-Id: Ia7d9ae07e2ef35d33f85530f26cab4e6cdc1f94a
+ Creates a new LetterboxDetails parcelable class
+ Adds LetterboxDetails as a parameter to IStatusBar#onSystemBarAttributesChanged
Test: Manually by checking that the device works without crashing
Fixes: 236829652
Change-Id: Ib4e615f6e4eb44d0fc4fb753b27a04b908e7bd24
The list of fields that directly or undirectly and/or condtionally
influence view's layout:
onMeasure:
mMaxWidth
onLayout:
mTopOffset
<- mCollapseOffset
mCollapseOffset
<- mCollapsibleHeight
<- mShowAtTop
<- mMaxCollapsedHeightSmall
<- mCollapsibleHeightReserved
<- mSmallCollapsed
<- mAlwaysShowHeight
<- mOpenOnLayout
<- mShowAtTop
All their assigments is revied and discovered issues is addressed in
this CL (plus small adjustements suggested by the static code inspector).
Fix: 237718103
Test: Unit tests + manual.
Change-Id: I405b7a48dac18e090a055f3187004b3a8565586c
DisplayBatteryStats didn't have parcel methods and the estimated
multidisplay screen power was always initialized from 0.
The estimated screen power of the app will become inaccurate
after rebooting.
Bug: 235321975
Test: manual test.
1. Unplug the device.
2. Use an app for a while and keep screen on.
3. Capture the first bug report.
4. Reboot the device.
5. Capture the second bug report.
The estimated screen power of the app shouldn't become lower after rebooting the device.
Author: Shumao Hou <shumao1129@gmail.com>
Change-Id: If74e285102a7350c17c2fc40a205b2031e82f5f4
(cherry picked from commit 79c3779bb1)
When the enableOnBackInvokedCallback is set to false (or not set),
registering an OnBackInvokedCallback should be a no-op to avoid
overriding the default compat callback.
Test: Manual testing registering a callback on an app with the flag
disabled and doing a back gesture. Currently we don't have test
executing a back gesture so automated tests are not possible
Bug: 235206960
Change-Id: I54d843f11130a78ed5a68cbe4722e601a2086ee1
Merged-In: I54d843f11130a78ed5a68cbe4722e601a2086ee1
(cherry picked from commit aa48dc3c2d)
DisplayBatteryStats didn't have parcel methods and the estimated
multidisplay screen power was always initialized from 0.
The estimated screen power of the app will become inaccurate
after rebooting.
Bug: 235321975
Test: manual test.
1. Unplug the device.
2. Use an app for a while and keep screen on.
3. Capture the first bug report.
4. Reboot the device.
5. Capture the second bug report.
The estimated screen power of the app shouldn't become lower after rebooting the device.
Author: Shumao Hou <shumao1129@gmail.com>
Change-Id: If74e285102a7350c17c2fc40a205b2031e82f5f4
(cherry picked from commit 79c3779bb1)
DisplayBatteryStats didn't have parcel methods and the estimated
multidisplay screen power was always initialized from 0.
The estimated screen power of the app will become inaccurate
after rebooting.
Bug: 235321975
Test: manual test.
1. Unplug the device.
2. Use an app for a while and keep screen on.
3. Capture the first bug report.
4. Reboot the device.
5. Capture the second bug report.
The estimated screen power of the app shouldn't become lower after rebooting the device.
Author: Shumao Hou <shumao1129@gmail.com>
Change-Id: If74e285102a7350c17c2fc40a205b2031e82f5f4
(cherry picked from commit 79c3779bb1)
This CL updates the configuration handling for USAP system properties.
Test: Build; flash; set property; check device state
Bug: 161725679
Change-Id: Ia1f6c4f4f7b8798d9c906953629bed61ce618f54