OSDN Git Service
Ryan Mitchell [Thu, 7 Jun 2018 01:53:39 +0000 (18:53 -0700)]
Merge changes from topic "dynamic-ref-se-mnc-dev" into oc-dev
am:
2d31069fac
Change-Id: I282ef1b63da084bb0906bee79ec5a7b0e9e66a2c
Ryan Mitchell [Thu, 7 Jun 2018 01:30:51 +0000 (18:30 -0700)]
Merge changes from topic "am-
c1e91e5e-2686-4871-b188-
107c0ddf3273" into oc-dev
am:
075bcf73c8
Change-Id: I926986b532e52b423555f9fb6540ccfe50eee075
Ryan Mitchell [Wed, 6 Jun 2018 23:33:08 +0000 (23:33 +0000)]
Merge changes from topic "dynamic-ref-se-mnc-dev" into oc-dev
* changes:
[automerger] Fix DynamicRefTable::load security bug am:
8cf0f988b0 am:
d65dbf91ce am:
aeb2fc64d9 am:
0938689606 am:
6f76fbfc69 am:
69b14d2a1a am:
c7e3991628 am:
c3aa2a4d3f am:
648a950ce9
[automerger] Fix DynamicRefTable::load security bug am:
8cf0f988b0 am:
d65dbf91ce am:
aeb2fc64d9 am:
0938689606 am:
6f76fbfc69 am:
69b14d2a1a am:
c7e3991628 am:
c3aa2a4d3f
[automerger] Fix DynamicRefTable::load security bug am:
8cf0f988b0 am:
d65dbf91ce am:
aeb2fc64d9 am:
0938689606 am:
6f76fbfc69 am:
69b14d2a1a am:
c7e3991628
[automerger] Fix DynamicRefTable::load security bug am:
8cf0f988b0 am:
d65dbf91ce am:
aeb2fc64d9 am:
0938689606 am:
6f76fbfc69 am:
69b14d2a1a
[automerger] Fix DynamicRefTable::load security bug am:
8cf0f988b0 am:
d65dbf91ce am:
aeb2fc64d9 am:
0938689606 am:
6f76fbfc69
[automerger] Fix DynamicRefTable::load security bug am:
8cf0f988b0 am:
d65dbf91ce am:
aeb2fc64d9 am:
0938689606
[automerger] Fix DynamicRefTable::load security bug am:
8cf0f988b0 am:
d65dbf91ce am:
aeb2fc64d9
[automerger] Fix DynamicRefTable::load security bug am:
8cf0f988b0 am:
d65dbf91ce
[automerger] Fix DynamicRefTable::load security bug am:
8cf0f988b0
Fix DynamicRefTable::load security bug
TreeHugger Robot [Wed, 6 Jun 2018 22:09:54 +0000 (22:09 +0000)]
Merge changes from topic "am-
c1e91e5e-2686-4871-b188-
107c0ddf3273" into oc-dev
* changes:
[automerger] ResStringPool: Prevenet boot loop from se fix am:
c31cf80008 am:
fd1097e436 am:
5a632d1b59 am:
6714a260e6 am:
3a272fe404 am:
3926163983 am:
ad43c89030 am:
a659d7c233 am:
c51c6751d7
[automerger] ResStringPool: Prevenet boot loop from se fix am:
c31cf80008 am:
fd1097e436 am:
5a632d1b59 am:
6714a260e6 am:
3a272fe404 am:
3926163983 am:
ad43c89030 am:
a659d7c233
[automerger] ResStringPool: Prevenet boot loop from se fix am:
c31cf80008 am:
fd1097e436 am:
5a632d1b59 am:
6714a260e6 am:
3a272fe404 am:
3926163983 am:
ad43c89030
[automerger] ResStringPool: Prevenet boot loop from se fix am:
c31cf80008 am:
fd1097e436 am:
5a632d1b59 am:
6714a260e6 am:
3a272fe404 am:
3926163983
[automerger] ResStringPool: Prevenet boot loop from se fix am:
c31cf80008 am:
fd1097e436 am:
5a632d1b59 am:
6714a260e6 am:
3a272fe404
[automerger] ResStringPool: Prevenet boot loop from se fix am:
c31cf80008 am:
fd1097e436 am:
5a632d1b59 am:
6714a260e6
[automerger] ResStringPool: Prevenet boot loop from se fix am:
c31cf80008 am:
fd1097e436 am:
5a632d1b59
[automerger] ResStringPool: Prevenet boot loop from se fix am:
c31cf80008 am:
fd1097e436
[automerger] ResStringPool: Prevenet boot loop from se fix am:
c31cf80008
ResStringPool: Prevenet boot loop from se fix
Mihai Popa [Wed, 6 Jun 2018 18:09:15 +0000 (11:09 -0700)]
[automerger skipped] [automerger] Optimise the hit test algorithm am:
3b6f84b77c am:
5b224ccf41 skipped:
eb86ac42e6 am:
a60d0b2e93 am:
a16b03c540 am:
acb5b014af am:
c62d510887 am:
ea648c6a2b am:
83d9688077
am:
ce1d540693 -s ours
Change-Id: Ic5ff6005483d4f4af1d0b9d8547c00751942fada
Android Build Merger (Role) [Wed, 6 Jun 2018 17:13:15 +0000 (17:13 +0000)]
[automerger] Fix DynamicRefTable::load security bug am:
8cf0f988b0 am:
d65dbf91ce am:
aeb2fc64d9 am:
0938689606 am:
6f76fbfc69 am:
69b14d2a1a am:
c7e3991628 am:
c3aa2a4d3f am:
648a950ce9
Change-Id: I313ac2c564ba5c8f094a37160d9ac5198f1d5aea
Android Build Merger (Role) [Wed, 6 Jun 2018 17:13:01 +0000 (17:13 +0000)]
[automerger] Fix DynamicRefTable::load security bug am:
8cf0f988b0 am:
d65dbf91ce am:
aeb2fc64d9 am:
0938689606 am:
6f76fbfc69 am:
69b14d2a1a am:
c7e3991628 am:
c3aa2a4d3f
Change-Id: I2d0676d161e47b400d110c3239cdaaf002c72ec3
Android Build Merger (Role) [Wed, 6 Jun 2018 17:12:53 +0000 (17:12 +0000)]
[automerger] Fix DynamicRefTable::load security bug am:
8cf0f988b0 am:
d65dbf91ce am:
aeb2fc64d9 am:
0938689606 am:
6f76fbfc69 am:
69b14d2a1a am:
c7e3991628
Change-Id: Ia7adde45bd85d2b3a56ede7215732cc05d97d870
Android Build Merger (Role) [Wed, 6 Jun 2018 17:12:46 +0000 (17:12 +0000)]
[automerger] Fix DynamicRefTable::load security bug am:
8cf0f988b0 am:
d65dbf91ce am:
aeb2fc64d9 am:
0938689606 am:
6f76fbfc69 am:
69b14d2a1a
Change-Id: I6e7ab766f6c88e61b8c2993a2f1420efc177319a
Android Build Merger (Role) [Wed, 6 Jun 2018 17:12:39 +0000 (17:12 +0000)]
[automerger] Fix DynamicRefTable::load security bug am:
8cf0f988b0 am:
d65dbf91ce am:
aeb2fc64d9 am:
0938689606 am:
6f76fbfc69
Change-Id: I43c9c68ca69d26f6d4d2dee3cd2a66d5e4a73761
Android Build Merger (Role) [Wed, 6 Jun 2018 17:12:24 +0000 (17:12 +0000)]
[automerger] Fix DynamicRefTable::load security bug am:
8cf0f988b0 am:
d65dbf91ce am:
aeb2fc64d9 am:
0938689606
Change-Id: Ib9e372290f9b2e1fa73470db3f7fd67bc9190711
Android Build Merger (Role) [Wed, 6 Jun 2018 17:12:18 +0000 (17:12 +0000)]
[automerger] Fix DynamicRefTable::load security bug am:
8cf0f988b0 am:
d65dbf91ce am:
aeb2fc64d9
Change-Id: I0556ef6fb1ceb02f4972c7434895cfeb5e13188d
Android Build Merger (Role) [Wed, 6 Jun 2018 17:12:11 +0000 (17:12 +0000)]
[automerger] Fix DynamicRefTable::load security bug am:
8cf0f988b0 am:
d65dbf91ce
Change-Id: I17fcbac2b6a7860749ddaabf6324cd89e3b78570
Android Build Merger (Role) [Wed, 6 Jun 2018 17:12:04 +0000 (17:12 +0000)]
[automerger] Fix DynamicRefTable::load security bug am:
8cf0f988b0
Change-Id: I17682a41fbacafd30a032bd78b176a883bc7bdd8
Ryan Mitchell [Wed, 30 May 2018 19:17:01 +0000 (12:17 -0700)]
Fix DynamicRefTable::load security bug
DynamicRefTables parsed from apks are missing bounds checks that prevent
buffer overflows. This changes verifies the bounds of the header before
attempting to preform operations on the chunk.
Bug:
79488511
Test: run cts -m CtsAppSecurityHostTestCases \
-t android.appsecurity.cts.CorruptApkTests
Change-Id: I02c8ad957da244fce777ac68a482e4e8fa70f846
Merged-In: I02c8ad957da244fce777ac68a482e4e8fa70f846
Mihai Popa [Wed, 6 Jun 2018 16:33:57 +0000 (09:33 -0700)]
[automerger skipped] Merge changes from topic "am-
2d17369d-a241-482f-bad0-
edb5147de00b" into oc-dev
am:
3fce74a7f3 -s ours
Change-Id: I28ae4102fd8913d74e8dd928f286cbdbd66d0241
Android Build Merger (Role) [Wed, 6 Jun 2018 16:28:11 +0000 (16:28 +0000)]
[automerger] Optimise the hit test algorithm am:
3b6f84b77c am:
5b224ccf41 skipped:
eb86ac42e6 am:
a60d0b2e93 am:
a16b03c540 am:
acb5b014af am:
c62d510887 am:
ea648c6a2b am:
83d9688077
Change-Id: I2e91e2573efec1a54eef83a93dfc7b99f20cda7b
Android Build Merger (Role) [Wed, 6 Jun 2018 16:28:04 +0000 (16:28 +0000)]
[automerger] Optimise the hit test algorithm am:
3b6f84b77c am:
5b224ccf41 skipped:
eb86ac42e6 am:
a60d0b2e93 am:
a16b03c540 am:
acb5b014af am:
c62d510887 am:
ea648c6a2b
Change-Id: I0f2860081d8a65d239d0beba1499bb69c3527c2c
Android Build Merger (Role) [Wed, 6 Jun 2018 16:27:57 +0000 (16:27 +0000)]
[automerger] Optimise the hit test algorithm am:
3b6f84b77c am:
5b224ccf41 skipped:
eb86ac42e6 am:
a60d0b2e93 am:
a16b03c540 am:
acb5b014af am:
c62d510887
Change-Id: I0e91789c55c400c15315c51e0f99f3a44ed2d913
Android Build Merger (Role) [Wed, 6 Jun 2018 16:27:50 +0000 (16:27 +0000)]
[automerger] Optimise the hit test algorithm am:
3b6f84b77c am:
5b224ccf41 skipped:
eb86ac42e6 am:
a60d0b2e93 am:
a16b03c540 am:
acb5b014af
Change-Id: If7742e7a94602f120b1ec1db9ff763998adae344
Android Build Merger (Role) [Wed, 6 Jun 2018 16:27:43 +0000 (16:27 +0000)]
[automerger] Optimise the hit test algorithm am:
3b6f84b77c am:
5b224ccf41 skipped:
eb86ac42e6 am:
a60d0b2e93 am:
a16b03c540
Change-Id: I3b08cf27f6407fdf5789f8a49c3b3aa49f1c1ecd
Android Build Merger (Role) [Wed, 6 Jun 2018 16:27:30 +0000 (16:27 +0000)]
[automerger] Optimise the hit test algorithm am:
3b6f84b77c am:
5b224ccf41 skipped:
eb86ac42e6 am:
a60d0b2e93
Change-Id: I23ca86e3bf3df6684d88f1be575f2be1599ac9eb
Android Build Merger (Role) [Wed, 6 Jun 2018 16:27:24 +0000 (16:27 +0000)]
[automerger] Optimise the hit test algorithm am:
3b6f84b77c am:
5b224ccf41 skipped:
eb86ac42e6
Change-Id: Ida4ae11d778115fb1f0d373523f71845fff88331
Mihai Popa [Wed, 6 Jun 2018 16:21:21 +0000 (16:21 +0000)]
Merge changes from topic "am-
2d17369d-a241-482f-bad0-
edb5147de00b" into oc-dev
* changes:
[automerger] Optimise the hit test algorithm am:
71ecf5bd5c am:
42eaa8f932 am:
a72cb45f89 am:
f5d69aa775 skipped:
94bc67f03c
[automerger] Optimise the hit test algorithm am:
71ecf5bd5c am:
42eaa8f932 am:
a72cb45f89 am:
f5d69aa775
[automerger] Optimise the hit test algorithm am:
71ecf5bd5c am:
42eaa8f932 am:
a72cb45f89
[automerger] Optimise the hit test algorithm am:
71ecf5bd5c am:
42eaa8f932
[automerger] Optimise the hit test algorithm am:
71ecf5bd5c
Optimise the hit test algorithm
Mihai Popa [Wed, 6 Jun 2018 16:21:21 +0000 (16:21 +0000)]
Merge changes from topic "am-
2d17369d-a241-482f-bad0-
edb5147de00b" into nyc-mr2-dev
* changes:
[automerger] Optimise the hit test algorithm am:
71ecf5bd5c am:
42eaa8f932 am:
a72cb45f89 am:
f5d69aa775
[automerger] Optimise the hit test algorithm am:
71ecf5bd5c am:
42eaa8f932 am:
a72cb45f89
[automerger] Optimise the hit test algorithm am:
71ecf5bd5c am:
42eaa8f932
[automerger] Optimise the hit test algorithm am:
71ecf5bd5c
Optimise the hit test algorithm
Mihai Popa [Wed, 6 Jun 2018 16:21:21 +0000 (16:21 +0000)]
Merge changes from topic "am-
2d17369d-a241-482f-bad0-
edb5147de00b" into cw-f-dev
* changes:
[automerger] Optimise the hit test algorithm am:
71ecf5bd5c am:
42eaa8f932 am:
a72cb45f89
[automerger] Optimise the hit test algorithm am:
71ecf5bd5c am:
42eaa8f932
[automerger] Optimise the hit test algorithm am:
71ecf5bd5c
Optimise the hit test algorithm
Mihai Popa [Wed, 6 Jun 2018 16:21:21 +0000 (16:21 +0000)]
Merge changes from topic "am-
2d17369d-a241-482f-bad0-
edb5147de00b" into nyc-mr1-dev
* changes:
[automerger] Optimise the hit test algorithm am:
71ecf5bd5c am:
42eaa8f932
[automerger] Optimise the hit test algorithm am:
71ecf5bd5c
Optimise the hit test algorithm
Mihai Popa [Wed, 6 Jun 2018 16:21:21 +0000 (16:21 +0000)]
Merge changes from topic "am-
2d17369d-a241-482f-bad0-
edb5147de00b" into nyc-dr1-dev
* changes:
[automerger] Optimise the hit test algorithm am:
71ecf5bd5c
Optimise the hit test algorithm
Mihai Popa [Wed, 6 Jun 2018 16:21:21 +0000 (16:21 +0000)]
Merge "Optimise the hit test algorithm" into nyc-dev
Android Build Merger (Role) [Wed, 6 Jun 2018 15:06:11 +0000 (15:06 +0000)]
[automerger] ResStringPool: Prevenet boot loop from se fix am:
c31cf80008 am:
fd1097e436 am:
5a632d1b59 am:
6714a260e6 am:
3a272fe404 am:
3926163983 am:
ad43c89030 am:
a659d7c233 am:
c51c6751d7
Change-Id: I471e75570c0f4d53ac71604932df2c4cda404573
Android Build Merger (Role) [Wed, 6 Jun 2018 15:06:06 +0000 (15:06 +0000)]
[automerger] ResStringPool: Prevenet boot loop from se fix am:
c31cf80008 am:
fd1097e436 am:
5a632d1b59 am:
6714a260e6 am:
3a272fe404 am:
3926163983 am:
ad43c89030 am:
a659d7c233
Change-Id: I9d69a905d320039a24b3c5e1878b7458251ab93a
Android Build Merger (Role) [Wed, 6 Jun 2018 15:06:00 +0000 (15:06 +0000)]
[automerger] ResStringPool: Prevenet boot loop from se fix am:
c31cf80008 am:
fd1097e436 am:
5a632d1b59 am:
6714a260e6 am:
3a272fe404 am:
3926163983 am:
ad43c89030
Change-Id: I74d2d54d69e0b7bfbdca1152a8dd9b0fe51727f5
Android Build Merger (Role) [Wed, 6 Jun 2018 15:05:53 +0000 (15:05 +0000)]
[automerger] ResStringPool: Prevenet boot loop from se fix am:
c31cf80008 am:
fd1097e436 am:
5a632d1b59 am:
6714a260e6 am:
3a272fe404 am:
3926163983
Change-Id: I34f05a182873509dd1e19a5692af5001d58cf8ec
Android Build Merger (Role) [Wed, 6 Jun 2018 15:05:41 +0000 (15:05 +0000)]
[automerger] ResStringPool: Prevenet boot loop from se fix am:
c31cf80008 am:
fd1097e436 am:
5a632d1b59 am:
6714a260e6 am:
3a272fe404
Change-Id: I8774e7b9ca61abd7fbfc43f0d4793cea41ae2e7c
Android Build Merger (Role) [Wed, 6 Jun 2018 15:05:24 +0000 (15:05 +0000)]
[automerger] ResStringPool: Prevenet boot loop from se fix am:
c31cf80008 am:
fd1097e436 am:
5a632d1b59 am:
6714a260e6
Change-Id: I5c8048d78c4e499419cee8b60e1a591c47b5456b
Android Build Merger (Role) [Wed, 6 Jun 2018 15:05:12 +0000 (15:05 +0000)]
[automerger] ResStringPool: Prevenet boot loop from se fix am:
c31cf80008 am:
fd1097e436 am:
5a632d1b59
Change-Id: I0de34641572b18ba701f41df542124b6331537c0
Android Build Merger (Role) [Wed, 6 Jun 2018 15:04:54 +0000 (15:04 +0000)]
[automerger] ResStringPool: Prevenet boot loop from se fix am:
c31cf80008 am:
fd1097e436
Change-Id: I50e23f33371f7f1e47b65d421628ab771238b278
Android Build Merger (Role) [Wed, 6 Jun 2018 15:04:30 +0000 (15:04 +0000)]
[automerger] ResStringPool: Prevenet boot loop from se fix am:
c31cf80008
Change-Id: Ie8651904560e43e89374df132bf30cd615718192
Ryan Mitchell [Mon, 21 May 2018 20:59:23 +0000 (13:59 -0700)]
ResStringPool: Prevenet boot loop from se fix
Changes the logs adding in a previous security fix to warnings so
devices with malformed APKs currently on them will not undergo DOS when
they are upgraded to P.
Bug:
79724567
Test: run cts -m CtsAppSecurityHostTestCases \
-t android.appsecurity.cts.CorruptApkTests
Change-Id: Ied54e4bb14abdaf79da562022c7ea6075187c1f8
(cherry picked from commit
f05f47b2c1838529e682ad8f931d3da72244b1a1)
Atanas Kirilov [Tue, 5 Jun 2018 21:24:30 +0000 (14:24 -0700)]
Merge changes from topic "am-
f5dc500e-4d32-4849-891e-
c618cef666de" into oc-dev
am:
c3b4881ea5
Change-Id: Ia58465b88ef5334753094719f4fdbb175b423f24
Atanas Kirilov [Tue, 5 Jun 2018 19:37:52 +0000 (19:37 +0000)]
Merge changes from topic "am-
f5dc500e-4d32-4849-891e-
c618cef666de" into oc-dev
* changes:
[automerger] Make safe label more safe am:
2263da9539 am:
05086b1008 am:
77f449068a am:
46f4563313 am:
6be1d6713f
[automerger] Make safe label more safe am:
2263da9539 am:
05086b1008 am:
77f449068a am:
46f4563313
[automerger] Make safe label more safe am:
2263da9539 am:
05086b1008 am:
77f449068a
[automerger] Make safe label more safe am:
2263da9539 am:
05086b1008
[automerger] Make safe label more safe am:
2263da9539
Make safe label more safe
Android Build Merger (Role) [Tue, 5 Jun 2018 13:49:40 +0000 (13:49 +0000)]
[automerger] Optimise the hit test algorithm am:
71ecf5bd5c am:
42eaa8f932 am:
a72cb45f89 am:
f5d69aa775 skipped:
94bc67f03c
Change-Id: Ieefc1b15d0d1905d16b85df9117e4ce208c342d2
Android Build Merger (Role) [Thu, 31 May 2018 16:46:41 +0000 (16:46 +0000)]
[automerger] Optimise the hit test algorithm am:
71ecf5bd5c am:
42eaa8f932 am:
a72cb45f89 am:
f5d69aa775
Change-Id: Ic2d4d3ead4926ff0f8021725e28aee4ebfc369f3
Merged-In: Ib66ef392c19c937718e7101f6d48fac3abe51ad0
Mihai Popa [Tue, 5 Jun 2018 11:39:29 +0000 (04:39 -0700)]
Merge "Optimise the hit test algorithm" into oc-dev
am:
6064d8fd4c
Change-Id: I465c15edb18c3084e6b8cbf1f42c0c2c1ebea4eb
TreeHugger Robot [Tue, 5 Jun 2018 11:28:42 +0000 (11:28 +0000)]
Merge "Optimise the hit test algorithm" into oc-dev
Adrian Roos [Mon, 4 Jun 2018 17:02:32 +0000 (10:02 -0700)]
Merge "WM: Prevent secondary display focus while keyguard is up" into oc-dev
am:
f04714c59a
Change-Id: I38bab1ff56a30cccb2f748588ffbbe54d5e17e80
Android Build Merger (Role) [Mon, 4 Jun 2018 15:28:37 +0000 (15:28 +0000)]
[automerger] Optimise the hit test algorithm am:
3b6f84b77c am:
5b224ccf41
Change-Id: I4c318ee8e717792cbe25caa830e6567572bd03f7
Android Build Merger (Role) [Mon, 4 Jun 2018 15:28:29 +0000 (15:28 +0000)]
[automerger] Optimise the hit test algorithm am:
3b6f84b77c
Change-Id: I881f5f6db05ad200a6d8507956664c8f25172dc9
Mihai Popa [Wed, 9 May 2018 16:31:48 +0000 (17:31 +0100)]
Optimise the hit test algorithm
Layout#getOffsetForHorizontal was running in O(n^2) time, where n is the
length of the current line. The method is used when a touch event
happens on a text line, to compute the cursor offset (and the character)
where it happened. Although this is not an issue in common usecases,
where the number of characters on a line is relatively small, this can
be very inefficient as a consequence of Unicode containing 0-width
(invisible) characters. Specifically, there are characters defining the
text direction (LTR or RTL), which cause our algorithm to touch the
worst case quadratic runtime. For example, a person is able to send a
message containing a few visible characters, and also a lot of these
direction changing invisible ones. When the receiver touches the message
(causing the Layout#getOffsetForHorizontal method to be called), the
receiver's application would become not responsive.
This CL optimizes the method to run in O(n) worst case. This is achieved
by computing the measurements of all line prefixes at first, which can
be done in a single pass. Then, all the prefix measurement queries will
be answered in O(1), rather than O(n) as it was happening before.
Bug:
79215201
Test: manual testing
Change-Id: Ib66ef392c19c937718e7101f6d48fac3abe51ad0
Merged-In: Ib66ef392c19c937718e7101f6d48fac3abe51ad0
TreeHugger Robot [Mon, 4 Jun 2018 11:44:21 +0000 (11:44 +0000)]
Merge "WM: Prevent secondary display focus while keyguard is up" into oc-dev
Android Build Merger (Role) [Thu, 31 May 2018 16:46:34 +0000 (16:46 +0000)]
[automerger] Optimise the hit test algorithm am:
71ecf5bd5c am:
42eaa8f932 am:
a72cb45f89
Change-Id: I9fa897b6bd6b5291d2956a38a3740b4f6d783ab2
Android Build Merger (Role) [Thu, 31 May 2018 16:46:27 +0000 (16:46 +0000)]
[automerger] Optimise the hit test algorithm am:
71ecf5bd5c am:
42eaa8f932
Change-Id: I2ac44759ff615b32724f5235d3e5e8dc8c9b4ced
Android Build Merger (Role) [Thu, 31 May 2018 16:46:17 +0000 (16:46 +0000)]
[automerger] Optimise the hit test algorithm am:
71ecf5bd5c
Change-Id: If1c91f3bc1e785434f153c5bc0d14befbc75e6cb
Mihai Popa [Wed, 9 May 2018 16:31:48 +0000 (17:31 +0100)]
Optimise the hit test algorithm
Layout#getOffsetForHorizontal was running in O(n^2) time, where n is the
length of the current line. The method is used when a touch event
happens on a text line, to compute the cursor offset (and the character)
where it happened. Although this is not an issue in common usecases,
where the number of characters on a line is relatively small, this can
be very inefficient as a consequence of Unicode containing 0-width
(invisible) characters. Specifically, there are characters defining the
text direction (LTR or RTL), which cause our algorithm to touch the
worst case quadratic runtime. For example, a person is able to send a
message containing a few visible characters, and also a lot of these
direction changing invisible ones. When the receiver touches the message
(causing the Layout#getOffsetForHorizontal method to be called), the
receiver's application would become not responsive.
This CL optimizes the method to run in O(n) worst case. This is achieved
by computing the measurements of all line prefixes at first, which can
be done in a single pass. Then, all the prefix measurement queries will
be answered in O(1), rather than O(n) as it was happening before.
Bug:
79215201
Test: manual testing
Change-Id: Ib66ef392c19c937718e7101f6d48fac3abe51ad0
Merged-In: Ib66ef392c19c937718e7101f6d48fac3abe51ad0
Mihai Popa [Wed, 9 May 2018 16:31:48 +0000 (17:31 +0100)]
Optimise the hit test algorithm
Layout#getOffsetForHorizontal was running in O(n^2) time, where n is the
length of the current line. The method is used when a touch event
happens on a text line, to compute the cursor offset (and the character)
where it happened. Although this is not an issue in common usecases,
where the number of characters on a line is relatively small, this can
be very inefficient as a consequence of Unicode containing 0-width
(invisible) characters. Specifically, there are characters defining the
text direction (LTR or RTL), which cause our algorithm to touch the
worst case quadratic runtime. For example, a person is able to send a
message containing a few visible characters, and also a lot of these
direction changing invisible ones. When the receiver touches the message
(causing the Layout#getOffsetForHorizontal method to be called), the
receiver's application would become not responsive.
This CL optimizes the method to run in O(n) worst case. This is achieved
by computing the measurements of all line prefixes at first, which can
be done in a single pass. Then, all the prefix measurement queries will
be answered in O(1), rather than O(n) as it was happening before.
Bug:
79215201
Test: manual testing
Change-Id: Ib66ef392c19c937718e7101f6d48fac3abe51ad0
Merged-In: Ib66ef392c19c937718e7101f6d48fac3abe51ad0
Jakub Pawlowski [Wed, 30 May 2018 00:50:07 +0000 (17:50 -0700)]
Fix bad type for txPower in PeriodicAdvertisingReport serialization
am:
459888be84
Change-Id: Ibccfb97e0b41a9ef6af9fcb1da23870dbff7f9b9
Jakub Pawlowski [Fri, 8 Dec 2017 06:56:03 +0000 (22:56 -0800)]
Fix bad type for txPower in PeriodicAdvertisingReport serialization
Bug:
69634768
Test: compilation
Change-Id: Icedfbaf1ba933637e935ada0fd98aea42c73f2b2
Merged-In: Icedfbaf1ba933637e935ada0fd98aea42c73f2b2
Adrian Roos [Tue, 22 May 2018 14:56:35 +0000 (16:56 +0200)]
WM: Prevent secondary display focus while keyguard is up
Fixes an issue where input intended for the keyguard could end up going
to a different display.
To prevent this, make sure that only the default display can get focused
when the keyguard is showing.
Change-Id: I6463c44aedca06930d2c9bda7c45ffd93141308c
Merged-In: I6463c44aedca06930d2c9bda7c45ffd93141308c
Fixes:
71786287
Test: atest DisplayContentTests
Android Build Merger (Role) [Tue, 22 May 2018 21:59:45 +0000 (21:59 +0000)]
[automerger] Make safe label more safe am:
2263da9539 am:
05086b1008 am:
77f449068a am:
46f4563313 am:
6be1d6713f
Change-Id: I68cc7356fb9069b8e59913e5524955c241990c8c
Android Build Merger (Role) [Tue, 22 May 2018 21:59:39 +0000 (21:59 +0000)]
[automerger] Make safe label more safe am:
2263da9539 am:
05086b1008 am:
77f449068a am:
46f4563313
Change-Id: I49cbda7a4d9643808cc9c164970a6ee630b2233c
Android Build Merger (Role) [Tue, 22 May 2018 21:59:34 +0000 (21:59 +0000)]
[automerger] Make safe label more safe am:
2263da9539 am:
05086b1008 am:
77f449068a
Change-Id: I0f74a4a39349e7c45f1468776618e360be87090c
Android Build Merger (Role) [Tue, 22 May 2018 21:59:30 +0000 (21:59 +0000)]
[automerger] Make safe label more safe am:
2263da9539 am:
05086b1008
Change-Id: Ibf0d6da3ef712a2cc45587d59880ddce03a34447
Android Build Merger (Role) [Tue, 22 May 2018 21:59:24 +0000 (21:59 +0000)]
[automerger] Make safe label more safe am:
2263da9539
Change-Id: If833354e5ae2b056de124fe23f0414c7654f6c33
Todd Kennedy [Thu, 3 May 2018 09:05:04 +0000 (10:05 +0100)]
Make safe label more safe
* limit the absolute maximum size of the label to 50000 characters
[which is probably far more than necessary, but, can be dialed down]
* use a string buffer while processing the string [instead of creating
multiple string objects]
Bug:
62537081
Test: Manual. Install APK in bug and see that it can be uninstalled
Change-Id: Ibf63c2691ad7438a123e92110d95b1f50050f8b1
Merged-In: Ibf63c2691ad7438a123e92110d95b1f50050f8b1
Bill Yi [Mon, 21 May 2018 17:19:31 +0000 (10:19 -0700)]
Merge changes from topic "am-
d326b840-2575-4e69-8ec2-
5cfa14046328" into oc-dev
am:
99e6aa1b1e
Change-Id: Id35ca83236112898b4e39b3cb173be70c435168f
Bill Yi [Mon, 21 May 2018 17:17:56 +0000 (10:17 -0700)]
[automerger skipped] Import translations. DO NOT MERGE skipped:
f72be588eb skipped:
ea0127f477
am:
4f1f428661 -s ours
Change-Id: Iac8c22f36859d6648ae856236c9a97080238cae5
TreeHugger Robot [Mon, 21 May 2018 17:03:49 +0000 (17:03 +0000)]
Merge changes from topic "am-
d326b840-2575-4e69-8ec2-
5cfa14046328" into nyc-mr2-dev
* changes:
[automerger skipped] Import translations. DO NOT MERGE skipped:
f72be588eb
Import translations. DO NOT MERGE
TreeHugger Robot [Mon, 21 May 2018 17:03:49 +0000 (17:03 +0000)]
Merge "Import translations. DO NOT MERGE" into cw-f-dev
TreeHugger Robot [Mon, 21 May 2018 17:03:49 +0000 (17:03 +0000)]
Merge changes from topic "am-
d326b840-2575-4e69-8ec2-
5cfa14046328" into oc-dev
* changes:
[automerger skipped] Import translations. DO NOT MERGE skipped:
f72be588eb skipped:
ea0127f477
[automerger skipped] Import translations. DO NOT MERGE skipped:
f72be588eb
Import translations. DO NOT MERGE
Bill Yi [Fri, 18 May 2018 00:09:03 +0000 (17:09 -0700)]
Merge changes from topic "am-
99e79364-ab71-4d96-8a34-
000c07c66d3e" into oc-dev
am:
abf0ff542a
Change-Id: Id3b645350fefaee4071d56d6e4bd368fa535350e
Bill Yi [Fri, 18 May 2018 00:07:40 +0000 (17:07 -0700)]
[automerger skipped] Import translations. DO NOT MERGE skipped:
c2a85c8927 skipped:
43bd9fa8b2
am:
f028e75015 -s ours
Change-Id: I7415cd61d98275b3d07e17efa2be8026a2a6b6d5
Bill Yi [Fri, 18 May 2018 00:03:27 +0000 (17:03 -0700)]
Merge changes from topic "am-
e925dddc-33b5-48cc-bddb-
e978735e99b7" into oc-dev
am:
c844ea5c96
Change-Id: Iccd345fb289c4daae404186709dccd4e8fb67fd1
Bill Yi [Fri, 18 May 2018 00:01:48 +0000 (17:01 -0700)]
[automerger skipped] Import translations. DO NOT MERGE skipped:
2f53cb7cc0 skipped:
ead9437423
am:
f3df46779d -s ours
Change-Id: I84b536b9e12331834feb59bbe3c58b554506f259
Bill Yi [Thu, 17 May 2018 23:55:51 +0000 (16:55 -0700)]
Merge changes from topic "am-
3142fca9-100b-4dd4-8848-
117761166ffe" into oc-dev
am:
a86ba9b6e5
Change-Id: I46efd01a25ff71885d5573e28731593a1cebb865
Bill Yi [Thu, 17 May 2018 23:53:52 +0000 (16:53 -0700)]
[automerger skipped] Import translations. DO NOT MERGE skipped:
7b2e87bd96 skipped:
913239f688
am:
1c6bdf5174 -s ours
Change-Id: If7d661f6e4fb7d74843ab3a948dba40b7349be55
Bill Yi [Thu, 17 May 2018 23:48:54 +0000 (16:48 -0700)]
Merge changes from topic "am-
4a0c0e3d-b1ad-44cf-9088-
b37a160bc2ac" into oc-dev
am:
70060539aa
Change-Id: I871256a76c3af4e37959f729389114c694e15596
Bill Yi [Thu, 17 May 2018 23:46:58 +0000 (16:46 -0700)]
[automerger skipped] Import translations. DO NOT MERGE skipped:
63cef597e2 skipped:
a492d4d55b
am:
6959e2b475 -s ours
Change-Id: I6951039ef2fc1a8770698c6da24944b3cb81ff2a
Bill Yi [Thu, 17 May 2018 23:43:04 +0000 (16:43 -0700)]
Merge changes from topic "am-
d375c8a9-01d8-44da-9ef2-
2e866e457b89" into oc-dev
am:
e936691bfc
Change-Id: I00cd12299a177549e980a01c5e8328306663bbee
Bill Yi [Thu, 17 May 2018 23:40:57 +0000 (16:40 -0700)]
[automerger skipped] Import translations. DO NOT MERGE skipped:
439fdb13fc skipped:
a98b588532
am:
1221af165e -s ours
Change-Id: I87afb96b009dbc4bfbc152d5764bc8728f0b0fef
Bill Yi [Thu, 17 May 2018 23:36:39 +0000 (16:36 -0700)]
Merge changes from topic "am-
646cf556-d36a-48f1-a414-
3797586a8a96" into oc-dev
am:
ea5a5f49cc
Change-Id: Ib4683b9918a30e45b255e03b5dc5b38567b0bbe9
Bill Yi [Thu, 17 May 2018 23:35:10 +0000 (16:35 -0700)]
[automerger skipped] Import translations. DO NOT MERGE skipped:
a574713e4d skipped:
e7c60be83f
am:
4bfac58817 -s ours
Change-Id: I910a028d8a4945d0dbbd6334b1d95fc85dd162a1
Bill Yi [Thu, 17 May 2018 23:31:32 +0000 (16:31 -0700)]
Merge changes from topic "am-
76a20f08-9212-4001-a52b-
dd38a93faa9b" into oc-dev
am:
9ede115c2b
Change-Id: Ida64b0840ce3569aa8a3ca5bb82a08de30ba3a23
Bill Yi [Thu, 17 May 2018 23:29:55 +0000 (16:29 -0700)]
[automerger skipped] Import translations. DO NOT MERGE skipped:
053b375862 skipped:
a7875e6a7d
am:
81a6ef98f3 -s ours
Change-Id: I653ae63bef34f046ac9fc9be7d0e04d818dd0d89
Bill Yi [Thu, 17 May 2018 23:26:51 +0000 (16:26 -0700)]
Merge changes from topic "am-
d1fbdf53-dccb-4215-99ff-
b24698b6bec8" into oc-dev
am:
c6c611293d
Change-Id: I74ee0d6e477345487b6056b3e1f92a41ba67731f
Bill Yi [Thu, 17 May 2018 23:25:01 +0000 (16:25 -0700)]
[automerger skipped] Import translations. DO NOT MERGE skipped:
379dacd8c2 skipped:
20306f6ce0
am:
fb795ed727 -s ours
Change-Id: Id3bd937bf2aecd644b6c5ec4de4d8707196267f5
TreeHugger Robot [Thu, 17 May 2018 23:23:10 +0000 (23:23 +0000)]
Merge changes from topic "am-
99e79364-ab71-4d96-8a34-
000c07c66d3e" into nyc-mr2-dev
* changes:
[automerger skipped] Import translations. DO NOT MERGE skipped:
c2a85c8927
Import translations. DO NOT MERGE
TreeHugger Robot [Thu, 17 May 2018 23:23:10 +0000 (23:23 +0000)]
Merge "Import translations. DO NOT MERGE" into cw-f-dev
TreeHugger Robot [Thu, 17 May 2018 23:23:10 +0000 (23:23 +0000)]
Merge changes from topic "am-
99e79364-ab71-4d96-8a34-
000c07c66d3e" into oc-dev
* changes:
[automerger skipped] Import translations. DO NOT MERGE skipped:
c2a85c8927 skipped:
43bd9fa8b2
[automerger skipped] Import translations. DO NOT MERGE skipped:
c2a85c8927
Import translations. DO NOT MERGE
TreeHugger Robot [Thu, 17 May 2018 23:22:37 +0000 (23:22 +0000)]
Merge changes from topic "am-
e925dddc-33b5-48cc-bddb-
e978735e99b7" into oc-dev
* changes:
[automerger skipped] Import translations. DO NOT MERGE skipped:
2f53cb7cc0 skipped:
ead9437423
[automerger skipped] Import translations. DO NOT MERGE skipped:
2f53cb7cc0
Import translations. DO NOT MERGE
TreeHugger Robot [Thu, 17 May 2018 23:22:37 +0000 (23:22 +0000)]
Merge changes from topic "am-
e925dddc-33b5-48cc-bddb-
e978735e99b7" into nyc-mr2-dev
* changes:
[automerger skipped] Import translations. DO NOT MERGE skipped:
2f53cb7cc0
Import translations. DO NOT MERGE
TreeHugger Robot [Thu, 17 May 2018 23:22:37 +0000 (23:22 +0000)]
Merge "Import translations. DO NOT MERGE" into cw-f-dev
TreeHugger Robot [Thu, 17 May 2018 23:21:49 +0000 (23:21 +0000)]
Merge changes from topic "am-
3142fca9-100b-4dd4-8848-
117761166ffe" into oc-dev
* changes:
[automerger skipped] Import translations. DO NOT MERGE skipped:
7b2e87bd96 skipped:
913239f688
[automerger skipped] Import translations. DO NOT MERGE skipped:
7b2e87bd96
Import translations. DO NOT MERGE
TreeHugger Robot [Thu, 17 May 2018 23:21:49 +0000 (23:21 +0000)]
Merge changes from topic "am-
3142fca9-100b-4dd4-8848-
117761166ffe" into nyc-mr2-dev
* changes:
[automerger skipped] Import translations. DO NOT MERGE skipped:
7b2e87bd96
Import translations. DO NOT MERGE
TreeHugger Robot [Thu, 17 May 2018 23:21:49 +0000 (23:21 +0000)]
Merge "Import translations. DO NOT MERGE" into cw-f-dev
TreeHugger Robot [Thu, 17 May 2018 23:20:31 +0000 (23:20 +0000)]
Merge changes from topic "am-
4a0c0e3d-b1ad-44cf-9088-
b37a160bc2ac" into oc-dev
* changes:
[automerger skipped] Import translations. DO NOT MERGE skipped:
63cef597e2 skipped:
a492d4d55b
[automerger skipped] Import translations. DO NOT MERGE skipped:
63cef597e2
Import translations. DO NOT MERGE
TreeHugger Robot [Thu, 17 May 2018 23:20:31 +0000 (23:20 +0000)]
Merge changes from topic "am-
4a0c0e3d-b1ad-44cf-9088-
b37a160bc2ac" into nyc-mr2-dev
* changes:
[automerger skipped] Import translations. DO NOT MERGE skipped:
63cef597e2
Import translations. DO NOT MERGE
TreeHugger Robot [Thu, 17 May 2018 23:20:31 +0000 (23:20 +0000)]
Merge "Import translations. DO NOT MERGE" into cw-f-dev
Bill Yi [Thu, 17 May 2018 23:20:16 +0000 (16:20 -0700)]
Merge changes from topic "am-
93ef86f6-d908-4917-b503-
5ba7fcefcad8" into oc-dev
am:
5667f966e5
Change-Id: Iba9987a2228227107c2870f2a57b4c132e3f6e3e
Bill Yi [Thu, 17 May 2018 23:18:59 +0000 (16:18 -0700)]
[automerger skipped] Import translations. DO NOT MERGE skipped:
fc4347f98e skipped:
8b2ac4fffa
am:
a72fe6a957 -s ours
Change-Id: I659644d1abcb04788c35591a290440e8a990e79c
TreeHugger Robot [Thu, 17 May 2018 23:17:54 +0000 (23:17 +0000)]
Merge changes from topic "am-
d375c8a9-01d8-44da-9ef2-
2e866e457b89" into oc-dev
* changes:
[automerger skipped] Import translations. DO NOT MERGE skipped:
439fdb13fc skipped:
a98b588532
[automerger skipped] Import translations. DO NOT MERGE skipped:
439fdb13fc
Import translations. DO NOT MERGE