{"push_id":2953442811,"size":12,"distinct_size":12,"ref":"refs/heads/lineage-15.1","head":"bc7aeae7161fb9d4436f0656bda4e39c3a7a6315","before":"beb4d49a221ad60eb02effa7cb26025581c2adf0","commits":[{"sha":"89be24c647c93fb58733cdd3d06dfd5058776ae1","author":{"name":"Mihai Popa","email":"a51665ee3de378e3731af3562ffc62349e307df4@google.com"},"message":"Optimise the hit test algorithm\n\nLayout#getOffsetForHorizontal was running in O(n^2) time, where n is the\nlength of the current line. The method is used when a touch event\nhappens on a text line, to compute the cursor offset (and the character)\nwhere it happened. Although this is not an issue in common usecases,\nwhere the number of characters on a line is relatively small, this can\nbe very inefficient as a consequence of Unicode containing 0-width\n(invisible) characters. Specifically, there are characters defining the\ntext direction (LTR or RTL), which cause our algorithm to touch the\nworst case quadratic runtime. For example, a person is able to send a\nmessage containing a few visible characters, and also a lot of these\ndirection changing invisible ones. When the receiver touches the message\n(causing the Layout#getOffsetForHorizontal method to be called), the\nreceiver's application would become not responsive.\n\nThis CL optimizes the method to run in O(n) worst case. This is achieved\nby computing the measurements of all line prefixes at first, which can\nbe done in a single pass. Then, all the prefix measurement queries will\nbe answered in O(1), rather than O(n) as it was happening before.\n\nBug: 79215201\nTest: manual testing\nChange-Id: Ib66ef392c19c937718e7101f6d48fac3abe51ad0\nMerged-In: Ib66ef392c19c937718e7101f6d48fac3abe51ad0\n(cherry picked from commit 69b589b21d02cd380a6827c39e56cbd12a804ffd)","distinct":true,"url":"https://api.github.com/repos/Oreo-onyx/frameworks_base/commits/89be24c647c93fb58733cdd3d06dfd5058776ae1"},{"sha":"ab8e82d8181a2011af40957fdd1d3b4882620899","author":{"name":"Jeff Sharkey","email":"0816896af54120651c7639d7d7d0d2919ec34276@android.com"},"message":"DO NOT MERGE. Persistable Uri grants still require permissions.\n\nWhen FLAG_GRANT_PERSISTABLE_URI_PERMISSION is requested, we still\nneed to check permissions between the source and target packages,\ninstead of shortcutting past them.\n\nThe spirit of the original change is remains intact: if the caller\nrequested FLAG_GRANT_PERSISTABLE_URI_PERMISSION, then we avoid\nreturning \"-1\", which would prevent the grant data structure from\nbeing allocated.\n\nBug: 111934948\nTest: atest android.appsecurity.cts.AppSecurityTests\nChange-Id: Ief0fc922aa09fc3d9bb6a126c2ff5855347cd030\nMerged-In: Ief0fc922aa09fc3d9bb6a126c2ff5855347cd030\n(cherry picked from commit 05519b7e3d0f3d16ddfe6ee3892c8468a2c10c62)","distinct":true,"url":"https://api.github.com/repos/Oreo-onyx/frameworks_base/commits/ab8e82d8181a2011af40957fdd1d3b4882620899"},{"sha":"1a161653f388fc463bf42f5a0104f76da40baba8","author":{"name":"Jeff Sharkey","email":"0816896af54120651c7639d7d7d0d2919ec34276@android.com"},"message":"DO NOT MERGE. Execute \"strict\" queries with extra parentheses.\n\nSQLiteQueryBuilder has a setStrict() mode which can be used to\ndetect SQL attacks from untrusted sources, which it does by running\neach query twice: once with an extra set of parentheses, and if that\nsucceeds, it runs the original query verbatim.\n\nThis sadly doesn't catch inputs of the type \"1=1) OR (1=1\", which\ncreates valid statements for both tests above, but the final executed\nquery ends up leaking data due to SQLite operator precedence.\n\nInstead, we need to continue compiling both variants, but we need\nto execute the query with the additional parentheses to ensure\ndata won't be leaked.\n\nTest: atest cts/tests/tests/database/src/android/database/sqlite/cts/SQLiteQueryBuilderTest.java\nBug: 111085900\nChange-Id: I6e8746fa48f9de13adae37d2990de11c9c585381\nMerged-In: I6e8746fa48f9de13adae37d2990de11c9c585381\n(cherry picked from commit 5a55a72fcd18fb676eb4c114e62048068f71c01a)","distinct":true,"url":"https://api.github.com/repos/Oreo-onyx/frameworks_base/commits/1a161653f388fc463bf42f5a0104f76da40baba8"},{"sha":"136692bd4c0669611ad9a7347a18ed51f4f4e3ab","author":{"name":"Jeff Sharkey","email":"0816896af54120651c7639d7d7d0d2919ec34276@android.com"},"message":"DO NOT MERGE. Extend SQLiteQueryBuilder for update and delete.\n\nDevelopers often accept selection clauses from untrusted code, and\nSQLiteQueryBuilder already supports a \"strict\" mode to help catch\nSQL injection attacks.  This change extends the builder to support\nupdate() and delete() calls, so that we can help secure those\nselection clauses too.\n\nBug: 111085900\nTest: atest packages/providers/DownloadProvider/tests/\nTest: atest cts/tests/app/src/android/app/cts/DownloadManagerTest.java\nTest: atest cts/tests/tests/database/src/android/database/sqlite/cts/SQLiteQueryBuilderTest.java\nChange-Id: Ib4fc8400f184755ee7e971ab5f2095186341730c\nMerged-In: Ib4fc8400f184755ee7e971ab5f2095186341730c\n(cherry picked from commit 09d49531334ce6bc4ac45de1d3d0edb1495c0566)","distinct":true,"url":"https://api.github.com/repos/Oreo-onyx/frameworks_base/commits/136692bd4c0669611ad9a7347a18ed51f4f4e3ab"},{"sha":"1cd4656371f50289432ecf8f6aa5179d3b8b2442","author":{"name":"akirilov","email":"3fdb95116c8d3c6aa7067a261667bb17956190da@google.com"},"message":"RESTRICT AUTOMERGE: Revoke permissions defined in a to-be removed package.\n\nBug: 67319274\nTest: run cts-dev --module CtsPermissionTestCases --test android.permission.cts.RemovePermissionTest#permissionShouldBeRevokedIfRemoved\nChange-Id: I2771c048e13529e168121c5a5501aa26fc21e30f\n(cherry picked from commit 821076440434443af4257c5ba0b7b1f037735041)","distinct":true,"url":"https://api.github.com/repos/Oreo-onyx/frameworks_base/commits/1cd4656371f50289432ecf8f6aa5179d3b8b2442"},{"sha":"6033d76bc68c04155dfa763ac86a229169d78cfb","author":{"name":"Seigo Nonaka","email":"d44217c39a626f090b6c94af1c8fe1f1c45e1807@google.com"},"message":"Fix crash during cursor moving on BiDi text\n\nThe crash was introduced by Ib66ef392c19c937718e7101f6d48fac3abe51ad0\nThe root cause of the crashing is requesting out-of-line access for the\nhorizontal width. This invalid access is silently ignored by\nTextLine#measure() method but new implementation end up with out of\nbounds access.\n\nTo makes behavior as old implementation, calling getHorizontal instead\nof accessing measured result array.\n\nBug: 78464361, 111580019\nTest: Manually done\nChange-Id: I5c5778718f6b397adbb1e4f2cf95e9f635f6e5c8\n(cherry picked from commit 960647d582911ae7ab8b9491097898e6c313aaf1)\nMerged-In: I5c5778718f6b397adbb1e4f2cf95e9f635f6e5c8\n(cherry picked from commit d30c55e3ccf25668fcbccf29c94224fd1d2e67b6)","distinct":true,"url":"https://api.github.com/repos/Oreo-onyx/frameworks_base/commits/6033d76bc68c04155dfa763ac86a229169d78cfb"},{"sha":"e94adc9bb135e2f895a76f2a9b32b9ab2d3d7b2a","author":{"name":"android-build-team Robot","email":"721653ffd176a06f4909cc1a998bf85481c2eb55@google.com"},"message":"Merge cherrypicks of [4787603, 4787134, 4787604, 4786834, 4787135, 4787488, 4786835, 4787489, 4787490, 4787548, 4787549, 4787550, 4787551, 4787552, 4787553, 4787502, 4786836, 4785839, 4787620, 4787621, 4787622, 4787623, 4787624, 4787625, 4787626, 4787627, 4787628] into oc-m7-release\n\nChange-Id: I601b76d218a5f03fb1506cbd22a2c9d2cec85469","distinct":true,"url":"https://api.github.com/repos/Oreo-onyx/frameworks_base/commits/e94adc9bb135e2f895a76f2a9b32b9ab2d3d7b2a"},{"sha":"2163527e5db06bb3f101a79122af1ee5e90d99fa","author":{"name":"Elisa Pascual Trevino","email":"19345f7d7a1b17c4eed1de7aa4a5d06cbfbe8c1b@google.com"},"message":"Revert \"RESTRICT AUTOMERGE: Revoke permissions defined in a to-be removed package.\"\n\nThis reverts commit 821076440434443af4257c5ba0b7b1f037735041.\n\nReason for revert: b/111752150\n\nChange-Id: I035cfcacaeaf798b8aea7fe62376624d06c64388\n(cherry picked from commit 9cd13a2bd5ca2546da7a15182b0ddf1a81f2e7da)","distinct":true,"url":"https://api.github.com/repos/Oreo-onyx/frameworks_base/commits/2163527e5db06bb3f101a79122af1ee5e90d99fa"},{"sha":"0b434bf5eebd5b76a71e04b54c3c810a10373b6c","author":{"name":"android-build-team Robot","email":"721653ffd176a06f4909cc1a998bf85481c2eb55@google.com"},"message":"Merge cherrypicks of [4902728, 4902589, 4902590] into oc-m7-release\n\nChange-Id: I5407f09b1990560b4908fd78be454f3e57d7a363","distinct":true,"url":"https://api.github.com/repos/Oreo-onyx/frameworks_base/commits/0b434bf5eebd5b76a71e04b54c3c810a10373b6c"},{"sha":"23a9ff601a3bbe8b16af6711830143064e977fe7","author":{"name":"Kevin F. Haggerty","email":"b3d43acdf68f60566d4deeada3d54faa7e5e7dcc@lineageos.org"},"message":"Merge tag 'android-8.1.0_r47' into staging/lineage-15.1_merge-android-8.1.0_r47\n\nAndroid 8.1.0 release 47\n\n* tag 'android-8.1.0_r47':\n  Revert \"RESTRICT AUTOMERGE: Revoke permissions defined in a to-be removed package.\"\n  Fix crash during cursor moving on BiDi text\n  RESTRICT AUTOMERGE: Revoke permissions defined in a to-be removed package.\n  DO NOT MERGE. Extend SQLiteQueryBuilder for update and delete.\n  DO NOT MERGE. Execute \"strict\" queries with extra parentheses.\n  DO NOT MERGE. Persistable Uri grants still require permissions.\n  Optimise the hit test algorithm\n\nChange-Id: I5a266009dbb7a5d0da9811c5b129138af2b4cce0","distinct":true,"url":"https://api.github.com/repos/Oreo-onyx/frameworks_base/commits/23a9ff601a3bbe8b16af6711830143064e977fe7"},{"sha":"e5a7c5a962c13c16ac153a2f77691ef10d2ede24","author":{"name":"DroidFreak32","email":"c130e4623796011d4f9274369dd43806d7fef594@gmail.com"},"message":"Screenshot: Append app name after screenshot date.\n\nChange-Id: I2ee5d65006ff22dfa381aae50e5757b8e7596e91","distinct":true,"url":"https://api.github.com/repos/Oreo-onyx/frameworks_base/commits/e5a7c5a962c13c16ac153a2f77691ef10d2ede24"},{"sha":"bc7aeae7161fb9d4436f0656bda4e39c3a7a6315","author":{"name":"YumeMichi","email":"22faaa37636d06aab1f089d6046b361868641212@gmail.com"},"message":"Merge branch 'remote' into lineage-15.1\n\nChange-Id: Ie53cad1bd7ba0087336bfe6c5c492d9316483af7","distinct":true,"url":"https://api.github.com/repos/Oreo-onyx/frameworks_base/commits/bc7aeae7161fb9d4436f0656bda4e39c3a7a6315"}]}
{"actor":{"display_login":"YumeMichi"}}