am: 01676b2564 -s ours
am skip reason: change_id If50f68df9579f84bddc9d70a0a30cd73f4485e96 with SHA1 e2e5a31362 is in history
Change-Id: I8de0517621facad6f880685b67979d235a3fc815
am: 63150de91d -s ours
am skip reason: change_id Ia0b6a56859889d538e21f807a88bc5217d89e64a with SHA1 cf7b336020 is in history
Change-Id: I993b5534a72d78070797aa1aedac27aa685e6190
The data and activation broadcasts were guardrailed using
elapsedRealtime of the *LogEvent*. However, it's possible to use
incorrect timestamps, and it's also possible that we could process
events that are old, which would result in the broadcast getting sent
too frequently. To fix this, we should use the current elapsedRealtime
instead of the LogEvent's elapsedRealtime.
I can remove the config activation broadcast if we think we should hold
off on it.
Test: bit statsd_test:*
Bug: 143155387
Change-Id: I4c58d2558d6ba3b4fd15a4a619d6f80a7bd7113f
am: 01f3aa4fff -s ours
am skip reason: change_id I3c678522e70b5d89a6a5a8f6bdb1e3fd91ca8aee with SHA1 61f098ecaf is in history
Change-Id: Ia293151feff2d0fa112867d30a818bf475a991e7
Original symptom: Cuttlefish devices would crash when the "recent apps"
tray was swiped up from the bottom.
Root cause: Raising the "recent apps" tray triggers a vibration. Close
to the bottom of the call stack responsible for this action in
VibratorService is the native function vibratorPerformEffect(). The
Java Language signature for this function has a long as the type of the
second parameter, as does the JNI signature that is registered with the
environment. The native function, however, uses an int type for this
parameter. As a result, when the arguments are passed via the stack on
x86 devices the high bits of the second long argument are read as the
contents of the third argument, which is a jobject reference. When the
code attempts to convert this NULL local reference into a global
reference the JNI code aborts the runtime for the process. Because the
VibratorService is part of the SystemServer, when it crashes the Zygote
is notified and restarts the entire shell.
Why this wasn't an issue on ARM devices: ARMs calling conventions pass
many of a function's arguments via registers instead of via the stack.
This means that the long argument is passed in a register, preventing it
from stomping on any other arguments. When the native function uses the
argument it simply reads the lower bits from the register and ignores
the higher bits.
Why this wasn't previously an issue on X86 hosts: ag/9158254 introduced
a new parameter to the vibratorPerformEffect() function. This new
parameter is located after the mis-typed parameter and will be aliased
to the high bits of the mis-typed long argument.
Fix: Correct the type signature of the native vibratorPerformEffect()
function.
Bug: 143082450
Test: Build -> start cuttlefish -> raise recent apps tray -> no crash
[adelva: port to AOSP to close potential ASAN issues]
Change-Id: If50f68df9579f84bddc9d70a0a30cd73f4485e96
Merged-In: If50f68df9579f84bddc9d70a0a30cd73f4485e96
to be configurable.
Bug: 143372960
Test: manual - took before and after videos
Merged-In: Ia0b6a56859889d538e21f807a88bc5217d89e64a
Change-Id: Ia0b6a56859889d538e21f807a88bc5217d89e64a
There are multiple problems here:
- Java Font.equals and hashCode doesn't look at locale list. Due to this
issue, the CTS tests have been passing unexpectedly.
- The null pointer check in the AFont_getLoacle was inversed. Should
return only when it is non-null.
- Looks like we cannot get the parent's attribute which always returns
null. Instead, read the "lang" attribute when we read the family tag.
Bug: 139201432
Test: atest NativeSystemFontTest
Test: atest TypefaceEqualsTest
Change-Id: I0514847bbf46a73358afab374ccfce2db09b2ec0
am: 766c011ff0 -s ours
am skip reason: change_id I1307d1d7aacef0bbd33bfc73700ee774e12e64c1 with SHA1 fff052067c is in history
Change-Id: I13827dfef005720035ae9ea58c82bfc55e905100
All relevant logic is in the CarNavigationBarController which means we
don't need to account for the views in two different parts of SystemUI.
Bug: 143143539
Test: atest CarNavigationBarControllerTest
Change-Id: I0a54ddf3966a8e373909062df78ec2665f4a9c9d
This borrows on the testing infrastructure set up by the phone sys ui
team and provides an examples via test for CarNavigationBarController.
Bug: 143227120
Test: atest CarNavigationBarControllerTest
Change-Id: I10fd4e2e51f2faf75ade5b40e47441a9e948f075