Commit Graph

588130 Commits

Author SHA1 Message Date
Jeff Sharkey
9199bca1ef Merge changes from topic "sep28r"
* changes:
  Add fuzzer for rewritten CursorWindow.
  Rewrite of CursorWindow internals.
2020-10-20 00:11:14 +00:00
Youngjun Kwak
d2cf9013e6 Merge "Create Sample 3" 2020-10-19 23:51:26 +00:00
Amy Zhang
a0e22be70e Merge "Add two extended Frontend Scan Message in Tuner 1.1" 2020-10-19 23:41:08 +00:00
Tej Singh
cfa32e13ef Perform update for duration metric
Creates a new metric if the metric is new/needs replacement.
Preserves the metrics that can be preserved. Ensures that indices are
updated, including within duration trackers.

Does not handle if a condition is true for a new metric based on an
existing condition.

Test: atest statsd_test
Bug: 162323124
Change-Id: Ibe0baf54678c1c6efde5aeba6a4b9b7fa2634c55
2020-10-19 15:51:05 -07:00
Jeff Sharkey
256da5a361 Add fuzzer for rewritten CursorWindow.
We recently rewrote CursorWindow, so let's get a fuzzer wired up
to see if it has any bugs.

This change creates a separate "libandroidfw_fuzz" library, since we
can't link to libbinder when building Windows host-side binaries;
the fuzzer doesn't need Window support.

And fix our first vulnerability where getFieldSlot() could be
tricked into reading out of bounds data.

The included corpus seed was generated using this example code:

    CursorWindow* w = nullptr;
    CursorWindow::create(android::String8("test"), 1 << 21, &w);
    w->setNumColumns(3);

    w->allocRow();
    w->putLong(0,0,0xcafe);
    w->putLong(0,1,0xcafe);
    w->putLong(0,2,0xcafe);

    // Row purposefully left empty
    w->allocRow();

    w->allocRow();
    w->putNull(2,0);
    w->putNull(2,1);
    w->putNull(2,2);

    w->allocRow();
    w->putString(3,0,"cafe",5);
    w->putString(3,1,"cafe",5);
    w->putString(3,2,"cafe",5);

    w->allocRow();
    w->putDouble(4,0,3.14159f);
    w->putDouble(4,1,3.14159f);
    w->putDouble(4,2,3.14159f);

    Parcel p;
    w->writeToParcel(&p);

Bug: 169251528
Test: atest libandroidfw_tests:CursorWindowTest
Test: SANITIZE_HOST=address make ${FUZZER_NAME} && ${ANDROID_HOST_OUT}/fuzz/$(get_build_var HOST_ARCH)/${FUZZER_NAME}/${FUZZER_NAME}
Change-Id: I405d377900943de0ad732d3f1a1a0970e17d5140
2020-10-19 16:07:16 -06:00
Jeff Sharkey
ae2d88a65c Rewrite of CursorWindow internals.
The original CursorWindow implementation was created in Android 1.0
and has remained relatively unchanged since then.  Unfortunately that
design results in very poor performance on large windows, since
reading or writing each FieldSlot is O(row/100) to traverse through
a chain of RowSlotChunks.  It's also memory-inefficient due to how
it allocates RowSlotChunks in 404 byte chunks, even when there's only
a single row to store.

This change is a complete redesign of the CursorWindow internals to
use a "heap-and-stack" style approach, where a "heap" of strings
and blobs increment up from the bottom of the window while a "stack"
of FieldSlots increment down from the top of the window.

The included benchmarks show the following improvements, ensuring
no regressions for small windows, while offering very dramatic
improvements for larger windows:

                Big cores      Little cores
4x4 cursor      no regression  no regression
1024x4 cursor   2.2x faster    2.0x faster
16384x4 cursor  48.5x faster   24.4x faster

Detailed unit testing is also included to ensure that the rewrite
behaves correctly.

Bug: 169251528
Test: atest libandroidfw_tests
Test: atest CtsDatabaseTestCases
Test: atest FrameworksCoreTests:android.database
Test: ./frameworks/base/libs/hwui/tests/scripts/prep_generic.sh little && atest libandroidfw_benchmarks
Test: ./frameworks/base/libs/hwui/tests/scripts/prep_generic.sh little && atest CorePerfTests:android.database.CrossProcessCursorPerfTest
Change-Id: I90dff31fd550130dae917a33e0e1fa684e15c107
2020-10-19 16:07:04 -06:00
Amy Zhang
07e6258728 Merge changes from topic "frstatus"
* changes:
  Tuner JNI to use the extended frontend status types and build up extended status struct
  Add Frontend Status Extended types and getter APIs
2020-10-19 22:06:26 +00:00
Amy Zhang
8366252c0c Merge "Expose MediaEvent.release() as System API in Android S" 2020-10-19 22:05:39 +00:00
Jeff DeCew
d8168cf2fb [automerger skipped] Merge changes from topic "media_delete_intent_rvc_qpr2" into rvc-qpr-dev am: d4659de45d am: 1c7502c179 -s ours
am skip reason: Change-Id Iebb4f113d73179d7314ae1c6db3856ee0fd10b07 with SHA-1 c1b65c7387 is in history

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/12814680

Change-Id: I4300590c299beb214e3b0a9363829bb5a10b4e7d
2020-10-19 21:58:26 +00:00
Jeff DeCew
a3748ff7db [automerger skipped] Disable player's "Dismiss" button when notification is not dismissible. am: a49a320e49 am: 542839d8fa -s ours
am skip reason: Change-Id I3c2a73e4885642965ec553387b5e91f0cb16ff2f with SHA-1 b62d02913b is in history

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/12814679

Change-Id: Ia9d8c4cebcd2afdf9db0f35bed5a0d37c79198b8
2020-10-19 21:58:13 +00:00
Jeff DeCew
7259bd6572 [automerger skipped] Media player attempts to dismiss notifications when players removed. am: 734c374976 am: 02aa1dd89d -s ours
am skip reason: Change-Id I64db4cc618a812063c18a40ea4465aa4c520a3be with SHA-1 725d67d889 is in history

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/12793888

Change-Id: I3dda2be17b82849e839a3ec5792f5ead58cc3bd2
2020-10-19 21:58:04 +00:00
TreeHugger Robot
9dfe748b50 Merge "PreBootBroadcaster.java: Make the PendingIntent immutable" 2020-10-19 21:46:28 +00:00
TreeHugger Robot
5d8bfdc5e5 Merge "[GraphicsEnvironment] Remove unnecessary prefix." 2020-10-19 21:43:36 +00:00
Jeff DeCew
1c7502c179 Merge changes from topic "media_delete_intent_rvc_qpr2" into rvc-qpr-dev am: d4659de45d
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/12814680

Change-Id: Ib4292367ad2b1cdbe860039a3cfe29face8ce65c
2020-10-19 21:13:19 +00:00
Jeff DeCew
542839d8fa Disable player's "Dismiss" button when notification is not dismissible. am: a49a320e49
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/12814679

Change-Id: I1e46021df9af24e5663c0b1a7c488e6d881185b4
2020-10-19 21:13:10 +00:00
Jeff DeCew
02aa1dd89d Media player attempts to dismiss notifications when players removed. am: 734c374976
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/12793888

Change-Id: I6e5380cc6cc1bd13c5873146b81eb87e84ab5a1b
2020-10-19 21:12:57 +00:00
TreeHugger Robot
5c43abfaf6 Merge "Refactor GNSS JNI: GnssConfiguration" 2020-10-19 21:01:05 +00:00
Amy Zhang
a6064642b2 Add two extended Frontend Scan Message in Tuner 1.1
Test: make -j44 dist
Bug: 158818695
Change-Id: I7049201778798a60482f1ecaf471986e93f7309a
2020-10-19 13:59:52 -07:00
Jeff DeCew
d4659de45d Merge changes from topic "media_delete_intent_rvc_qpr2" into rvc-qpr-dev
* changes:
  Notifications starting paused shall still be subject to timeout.
  Disable player's "Dismiss" button when notification is not dismissible.
  Media player attempts to dismiss notifications when players removed.
2020-10-19 20:58:00 +00:00
TreeHugger Robot
ba8a55a0c3 Merge "Make pendingintent use immutable flag" 2020-10-19 20:46:10 +00:00
TreeHugger Robot
04cf1c50e3 [automerger skipped] Merge "[RESTRICT AUTOMERGE] Revert "[RESTRICT AUTOMERGE] Revert "Require permission to create trusted displays""" into rvc-dev am: 8b1151e4d5 am: 45d83c2145 -s ours
am skip reason: subject contains skip directive

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/12816011

Change-Id: I36519036f681d46d889c6bfff5c82ae900fbe166
2020-10-19 20:45:39 +00:00
Charles Chen
8c2e1bedd8 [automerger skipped] [RESTRICT AUTOMERGE] Revert "[RESTRICT AUTOMERGE] Revert "Require permission to create trusted displays"" am: c947b10f99 am: f229afe648 -s ours
am skip reason: subject contains skip directive

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/12816011

Change-Id: I9ccb118afd43c00affe73b3087b0275392a1d0c3
2020-10-19 20:45:27 +00:00
Liz Kammer
edd637de8d [automerger skipped] Merge "Make framework-res dep in stubs explicit am: 47994f3743" into mainline-prod am: 32fefc2421 -s ours
am skip reason: Change-Id I1829789af207cc45c49c0c68369fc7c0c085bcb0 with SHA-1 47994f3743 is in history

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/12846973

Change-Id: I146969cdbe15bd3b36d701c8e9d0ca3bc47c8e9e
2020-10-19 20:45:06 +00:00
kwaky
5df3c40c12 Create Sample 3
Bug: 170904466
Test: Manual -- verified that toggling bottom navigation bar color has
no visible effect due to the opaque drawable background.

Change-Id: I86533f08c2c8043b5844878458c56bb806d7ac63
2020-10-19 13:40:23 -07:00
TreeHugger Robot
45d83c2145 Merge "[RESTRICT AUTOMERGE] Revert "[RESTRICT AUTOMERGE] Revert "Require permission to create trusted displays""" into rvc-dev am: 8b1151e4d5
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/12816011

Change-Id: Ib497378a7901c19fc156d625ce3b9014b19c7757
2020-10-19 20:34:12 +00:00
Charles Chen
f229afe648 [RESTRICT AUTOMERGE] Revert "[RESTRICT AUTOMERGE] Revert "Require permission to create trusted displays"" am: c947b10f99
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/12816011

Change-Id: I1c1093f14923aa7a5f2d7891912d13acd15fab66
2020-10-19 20:34:09 +00:00
Liz Kammer
32fefc2421 Merge "Make framework-res dep in stubs explicit am: 47994f3743" into mainline-prod 2020-10-19 20:29:17 +00:00
Oscar Shu
e2a8a56e23 Merge "WifiConfiguration is captive portal never detected" 2020-10-19 20:07:16 +00:00
Ashwini Oruganti
06f66ba8be PreBootBroadcaster.java: Make the PendingIntent immutable
PendingIntents now need an explicit mutability flags. See
go/immutable-pendingintents for more details.

Fixes: 169794258
Test: Green builds
Change-Id: If9268554ecc02acaf08fa62a9a01b5fc6ce374f7
2020-10-19 12:56:23 -07:00
Beth Thibodeau
2442a334cc Merge "Handle possible null PlaybackState" 2020-10-19 19:49:01 +00:00
Amy Zhang
8ff36752c1 Merge "Add IntRange for getIpFilterContextId API" 2020-10-19 19:40:42 +00:00
Treehugger Robot
22f8c21d89 Merge "Correct visibility to use __pkg__" am: b0d3d461f8 am: 0716e5fe62 am: 8594be342f am: 3cfe55034b
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1462766

Change-Id: I0b55e75e980fb1173bde616595cdd387cf183764
2020-10-19 19:40:13 +00:00
Amy Zhang
07a2704af9 Tuner JNI to use the extended frontend status types and build up extended
status struct

Test: make -j44 dist
Bug: 158818695
Change-Id: Ic8e34ec4cf024c4d55ead3dca2d37dd84a19c7d5
2020-10-19 19:38:37 +00:00
Amy Zhang
5d597ef88e Add Frontend Status Extended types and getter APIs
In Tuner 1.1, more extended frontend status types are added
for the OEMs to get frontend status more flexible

Call Tuner.getFrontendStatus would build up the FrontendStatus object
Extended type value getter APIs are added in the FrontendStatus
class to access the value returned from HAL.

Any query with extended type on unsupported HAL version would be ignored

Test: make -j44 dist
Bug: 158818695
Change-Id: Id8cb8b669962a1b4cbed481e91563b944d1f3837
2020-10-19 19:38:19 +00:00
Amy Zhang
313bab5611 Expose MediaEvent.release() as System API in Android S
Test: make
Bug: 165403626
Change-Id: Ibd3068ab8c68b0d6deed203f3d8878558bd1c479
2020-10-19 19:36:57 +00:00
Treehugger Robot
d35f78ce5e [automerger skipped] Merge "Switch InstallUtilsHost as static_lib dependency on all targets" am: f6de84726a am: 7e61658e4d am: 9ce645c1bd am: f8aa3482f4 -s ours
am skip reason: Change-Id I4a3a141b1a5fc1722e673a163e6df9bd9f9df0b2 with SHA-1 6e0cfdad7c is in history

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1433438

Change-Id: I8e4e6fdcdbbd31a7f489eae3280fe3ebcfdbf0e0
2020-10-19 19:36:41 +00:00
Treehugger Robot
1673d15519 Merge changes I1d3e5e66,I86b869af,Iab4d3902,I645ee722 am: 72864d2930 am: 968582e45f am: cb2ebfc692 am: c59b81c978
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1461087

Change-Id: Ib58c1acbb9629a6654eb8e1666872974f0c75944
2020-10-19 19:35:19 +00:00
Zoran Jovanovic
adcf5c6b46 [automerger skipped] OMS: Add config_signature policy handling am: 0f942f99ca am: 98f8388042 am: 1dd9fa3689 am: 5b23d15d37 -s ours
am skip reason: Change-Id I645ee72271496008742886274be0d63a2985201b with SHA-1 9336d9e13b is in history

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1453997

Change-Id: I505f3f6eadd824c87b0a4339d4c9556fd3e20aa6
2020-10-19 19:35:08 +00:00
Wale Ogunwale
7aef5dc37d Merge "Don't hide overlays created by recents component" 2020-10-19 19:32:30 +00:00
Winson Chung
6befb06b1f Merge "Isolate shell dependencies" 2020-10-19 19:30:43 +00:00
TreeHugger Robot
5c4f977a53 Merge "Quick log downgrade until Safetyhub APK drok" 2020-10-19 19:30:39 +00:00
Yu-Han Yang
440c764981 Refactor GNSS JNI: GnssConfiguration
Bug: 127519827
Test: on cuttlefish
Change-Id: I633b8dcb59a1b0f876746fac3e634179079afc37
2020-10-19 12:24:50 -07:00
Treehugger Robot
3cfe55034b Merge "Correct visibility to use __pkg__" am: b0d3d461f8 am: 0716e5fe62 am: 8594be342f
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1462766

Change-Id: I92379a9c2dd49804db6cd67e358752e2c01ac663
2020-10-19 19:23:55 +00:00
Treehugger Robot
f8aa3482f4 Merge "Switch InstallUtilsHost as static_lib dependency on all targets" am: f6de84726a am: 7e61658e4d am: 9ce645c1bd
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1433438

Change-Id: I3a111277c3e648f21b69c38b9cb980e1046e2740
2020-10-19 19:22:28 +00:00
Treehugger Robot
c59b81c978 Merge changes I1d3e5e66,I86b869af,Iab4d3902,I645ee722 am: 72864d2930 am: 968582e45f am: cb2ebfc692
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1461087

Change-Id: I3a0abc3172b06e201535876bf01d37ed357853af
2020-10-19 19:21:50 +00:00
Zoran Jovanovic
5b23d15d37 OMS: Add config_signature policy handling am: 0f942f99ca am: 98f8388042 am: 1dd9fa3689
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1453997

Change-Id: I6eb6791bc9ab2e8ee8b50404e5d2e9bb9eb77e9e
2020-10-19 19:21:41 +00:00
Treehugger Robot
8594be342f Merge "Correct visibility to use __pkg__" am: b0d3d461f8 am: 0716e5fe62
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1462766

Change-Id: I1f8fd9a25fe07b8a5cc278c421f6370e7946a50b
2020-10-19 19:14:02 +00:00
Treehugger Robot
9ce645c1bd Merge "Switch InstallUtilsHost as static_lib dependency on all targets" am: f6de84726a am: 7e61658e4d
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1433438

Change-Id: I7cc0afb248c83633c321ba9a3ae9ed7c7ab8b072
2020-10-19 19:13:35 +00:00
Treehugger Robot
cb2ebfc692 Merge changes I1d3e5e66,I86b869af,Iab4d3902,I645ee722 am: 72864d2930 am: 968582e45f
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1461087

Change-Id: Ice6233ff1de7e7e3112c4f4ba6f01c02468ab5bd
2020-10-19 19:11:43 +00:00
Zoran Jovanovic
1dd9fa3689 OMS: Add config_signature policy handling am: 0f942f99ca am: 98f8388042
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1453997

Change-Id: Id678a1a778f1eb70112d7a4aa1728d5f11122a57
2020-10-19 19:11:39 +00:00