Commit Graph

1799 Commits

Author SHA1 Message Date
Kweku Adams
6a97c5d9f5 Improve replaceAll.
The default implementation of Map.replaceAll() iterates through the
entrySet. Switch to a simple for loop iterating through the array
since the iterator is an inefficient way to access the array contents.

Benchmark results:

Before:

android.util.ArrayMapPerfTest#testReplaceAll_Large:
	replaceAll_Large_min (ns): 888977
	replaceAll_Large_median (ns): 904642
	replaceAll_Large_mean (ns): 914596
	replaceAll_Large_standardDeviation: 23960
android.util.ArrayMapPerfTest#testReplaceAll_Small:
	replaceAll_Small_min (ns): 177767
	replaceAll_Small_median (ns): 179955
	replaceAll_Small_mean (ns): 180331
	replaceAll_Small_standardDeviation: 2865

After:

android.util.ArrayMapPerfTest#testReplaceAll_Large:
	replaceAll_Large_min (ns): 557385
	replaceAll_Large_median (ns): 586495
	replaceAll_Large_mean (ns): 583712
	replaceAll_Large_standardDeviation: 20356
android.util.ArrayMapPerfTest#testReplaceAll_Small:
	replaceAll_Small_min (ns): 108051
	replaceAll_Small_median (ns): 110802
	replaceAll_Small_mean (ns): 109987
	replaceAll_Small_standardDeviation: 1334

Bug: 194098491
Test: atest CorePerfTests:ArrayMapPerfTest (see results above)
Test: atest CtsUtilTestCases:ArrayMapTest
Test: atest FrameworksCoreTests:ArrayMapTest
Change-Id: If87ae5f3aa4b184b95c16aed5f2fb6f31d11668a
2021-09-10 14:33:40 -07:00
Michael Groover
b7701dd484 Merge "Update APK sig scheme verification OWNERS" am: 1e5f1a293a am: 16fd109212 am: baa5efcd7b am: acae3b9578 am: 221154184b
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1817421

Change-Id: I70cbc711153770dced8a47ae569ed8f9a0c2060b
2021-09-03 18:29:46 +00:00
Michael Groover
221154184b Merge "Update APK sig scheme verification OWNERS" am: 1e5f1a293a am: 16fd109212 am: baa5efcd7b am: acae3b9578
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1817421

Change-Id: Ia93adaf84f08f75e5b964e047d3ef9c1ab69dade
2021-09-03 18:13:31 +00:00
Michael Groover
16fd109212 Merge "Update APK sig scheme verification OWNERS" am: 1e5f1a293a
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1817421

Change-Id: I763efc9f320e551ca61462699e5f7ac12f6219fc
2021-09-03 17:25:21 +00:00
Michael Groover
1e5f1a293a Merge "Update APK sig scheme verification OWNERS" 2021-09-03 17:07:40 +00:00
shawnlin
bae802cfd8 [DO NOT MERGE]Support rounded corner for multi-display devices am: 6603444a76
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15581983

Change-Id: Iaf7cd7b6c357c8df9f7abe39d737fd71e705d557
2021-09-03 04:04:19 +00:00
Shawn Lin
8ddf5486f4 Merge "Support rounded corner for multi-display devices" 2021-09-03 03:57:37 +00:00
Michael Groover
9688bab011 Update APK sig scheme verification OWNERS
Bug: 198670656
Test: Builds
Change-Id: I2dd8de24baf29759a9000213650e4de49d2bb521
2021-09-02 13:20:14 -07:00
Jackal Guo
b5663f10f2 Merge "Move CtsContentTestCases to group presubmit-large" 2021-08-25 23:21:35 +00:00
Jackal Guo
ccc91c4fa9 Move CtsContentTestCases to group presubmit-large
The test config takes longer than 900 seconds to run. Move it to a
dedicated group for running slow presubmit Test Mapping test.

Some more context is in the referenced bug, e.g, b/174495337
The group will work exactly the same as presubmit for now.

Bug: 174654670
Bug: 174495337
Test: treehugger
Change-Id: Id9769bbc625b42257af603d69098ae69c0fabb80
2021-08-25 16:47:25 +08:00
shawnlin
6ec70a4497 Support rounded corner for multi-display devices
- Add new array configs for every rounded corner configs.
- Update rounded corner drawable when a display changes in
  ScreenDecorations.

Bug: 131221697
Test: atest DisplayCutoutTest RoundedCornersTest LocalDisplayAdapterTest
      ScreenDecorationsTest
Change-Id: I1f32ff680609267010b05a39a5b8e84511bf1243
2021-08-25 15:59:09 +08:00
shawnlin
6603444a76 [DO NOT MERGE]Support rounded corner for multi-display devices
- Add new array configs for every rounded corner configs.
- Update rounded corner drawable when a display changes in
  ScreenDecorations.

Bug: 131221697
Test: atest DisplayCutoutTest RoundedCornersTest LocalDisplayAdapterTest
      ScreenDecorationsTest
Change-Id: I1f32ff680609267010b05a39a5b8e84511bf1243
2021-08-25 15:58:28 +08:00
Kweku Adams
6310c8b1ad Fix indexing issue.
Bug: 158300259
Test: Check TARE dumpsys
Change-Id: I241033cfd7718e4e546a8940686ea8ca82347bad
2021-08-23 09:50:11 -07:00
TreeHugger Robot
2f9639e0fd Merge "Add a feature flag to guard the large screen feature in Settings app." into sc-v2-dev am: ed8dd882dc am: 2a084036e0
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15595470

Change-Id: Id1ca3957b886a19fbf934c6c595cd63476f05069
2021-08-18 07:47:05 +00:00
TreeHugger Robot
2a084036e0 Merge "Add a feature flag to guard the large screen feature in Settings app." into sc-v2-dev am: ed8dd882dc
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15595470

Change-Id: Iba4a28b14e0dd02a0f823a03bfa419805b091cc1
2021-08-18 07:32:13 +00:00
Tsung-Mao Fang
1f6c1537d4 Add a feature flag to guard the large screen feature in Settings app.
Test: Rebuilt rom and see the flag in the developer page.
Fix: 196954032
Change-Id: I408dc22033331e10f62ca9563d091208059b5e1e
2021-08-17 22:43:10 +08:00
Kweku Adams
4049d0fd9c Improve forEach.
The default implementation of Collection.forEach() uses the
iterator(). Switch to a simple for loop iterating through the array
since the iterator is an inefficient way to access the array contents.

Benchmark results:

Before:

android.util.ArrayMapPerfTest#testForEach_Large:
	forEach_Large_min (ns): 599759
	forEach_Large_median (ns): 655845
	forEach_Large_mean (ns): 636927
	forEach_Large_standardDeviation: 34373
android.util.ArrayMapPerfTest#testForEach_Small:
	forEach_Small_min (ns): 118822
	forEach_Small_median (ns): 121422
	forEach_Small_mean (ns): 121695
	forEach_Small_standardDeviation: 2079

After:

android.util.ArrayMapPerfTest#testForEach_Large:
	forEach_Large_min (ns): 403562
	forEach_Large_median (ns): 441364
	forEach_Large_mean (ns): 442301
	forEach_Large_standardDeviation: 24917
android.util.ArrayMapPerfTest#testForEach_Small:
	forEach_Small_min (ns): 81889
	forEach_Small_median (ns): 87889
	forEach_Small_mean (ns): 86905
	forEach_Small_standardDeviation: 2880

Bug: 194098491
Test: atest CorePerfTests:ArrayMapPerfTest (see results above)
Test: atest CtsUtilTestCases:ArrayMapTest
Test: atest FrameworksCoreTests:ArrayMapTest
Change-Id: Id528fe24f1d17af01a2d639753d42e2ad21144d2
2021-08-11 08:36:48 -07:00
Jooyung Han
c65e303681 APK signature verification: use FileChannel#size
RandomAccessFile#length returns 0 for block devices while
FileChannel#size returns the correct size.

APK signature verification utils should work with block-device zip files
when Android is running as a guest OS and APK/APEX files are passed via
block devices.

This is a follow-up of 1257f1505c.

Bug: 193592496
Bug: 192366904
Test: FrameworksServicesTests
Merged-In: I3015fc30574c36c18c0d0c9ae7453d33a1349927
Change-Id: I3015fc30574c36c18c0d0c9ae7453d33a1349927
(cherry picked from commit 310edbe3c7)
2021-08-03 01:26:54 +09:00
Jooyung Han
ec78f1a834 APK signature verification: use FileChannel#size
RandomAccessFile#length returns 0 for block devices while
FileChannel#size returns the correct size.

APK signature verification utils should work with block-device zip files
when Android is running as a guest OS and APK/APEX files are passed via
block devices.

This is a follow-up of 1257f1505c.

Bug: 193592496
Bug: 192366904
Test: FrameworksServicesTests
Change-Id: I3015fc30574c36c18c0d0c9ae7453d33a1349927
(cherry picked from commit 310edbe3c7)
2021-07-31 07:57:30 +00:00
Jooyung Han
310edbe3c7 APK signature verification: use FileChannel#size
RandomAccessFile#length returns 0 for block devices while
FileChannel#size returns the correct size.

APK signature verification utils should work with block-device zip files
when Android is running as a guest OS and APK/APEX files are passed via
block devices.

This is a follow-up of 1257f1505c.

Bug: 193592496
Bug: 192366904
Test: FrameworksServicesTests
Change-Id: I3015fc30574c36c18c0d0c9ae7453d33a1349927
2021-07-30 16:43:33 +09:00
Jackal Guo
1ce663dd30 Merge "Refactor PackageParser (12/n)" 2021-07-22 01:47:08 +00:00
Kweku Adams
5f49564deb Merge "Improve forEach." 2021-07-21 18:36:16 +00:00
Jooyung Han
3e705d0f26 Merge "ZipUtils: use FileChannel#size" am: d0798d7117 am: f92201554a am: 0c60cbf8c0 am: 1cbe6e0d72
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1765685

Change-Id: Ifb16c4b8f6cffeca9c7fc6f1a906137a7c65572d
2021-07-21 00:46:12 +00:00
Jooyung Han
0c60cbf8c0 Merge "ZipUtils: use FileChannel#size" am: d0798d7117 am: f92201554a
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1765685

Change-Id: I07df9fab5a971cc8cc5a4029a5935845efce27b0
2021-07-21 00:22:34 +00:00
Kweku Adams
14bbb8a744 Improve forEach.
The default implementation of Collection.forEach() uses the
iterator(). Switch to straight iterating through the array since the
iterator is an inefficient way to access the array contents.

Benchmark results:

Before:

android.util.ArraySetPerfTest#testForEach_Large:
	forEach_Large_median (ns): 398480
	forEach_Large_min (ns): 395758
	forEach_Large_mean (ns): 400957
	forEach_Large_standardDeviation: 5457
android.util.ArraySetPerfTest#testForEach_Small:
	forEach_Small_min (ns): 82768
	forEach_Small_median (ns): 83884
	forEach_Small_standardDeviation: 896
	forEach_Small_mean (ns): 83724

After:

android.util.ArraySetPerfTest#testForEach_Large:
	forEach_Large_median (ns): 319481
	forEach_Large_min (ns): 316166
	forEach_Large_mean (ns): 339865
	forEach_Large_standardDeviation: 44201
android.util.ArraySetPerfTest#testForEach_Small:
	forEach_Small_min (ns): 58736
	forEach_Small_median (ns): 60648
	forEach_Small_standardDeviation: 1375
	forEach_Small_mean (ns): 60622

Bug: 194098491
Test: atest CorePerfTests:ArraySetPerfTest (see results above)
Test: atest CtsUtilTestCases:ArraySetTest
Test: atest FrameworksCoreTests:ArraySetTest
Change-Id: Ib14b96f095203e1f5811132f2a21be0452645f7e
2021-07-19 13:10:23 -07:00
Jackal Guo
2821e5d46f Refactor PackageParser (12/n)
Replace PackageParser.PackageParserException by either using the
PraseResult or throwing a more generic Exception in order to move
away from PackageParser.

Bug: 174723245
Test: m docs
Test: atest -p core/java/android/content/pm \
        core/java/android/util/apk \
        services/core/java/com/android/server/pm \
	services/core/java/com/android/server/integrity
Change-Id: I7ba3e693e636caa869641141ed83383326c67809
2021-07-16 13:49:16 +08:00
Jooyung Han
1257f1505c ZipUtils: use FileChannel#size
RandomAccessFile#length returns 0 for block devices while
FileChannel#size returns the correct size. ZipUtils should work with
block-device zip files when Android is running as a guest OS and
APK/APEX files are passed via block devices.

Bug: 193592496
Bug: 192366904
Test: FrameworksServicesTests
Change-Id: I6472e2a9051b92a5a778b4990b8e681492985d1a
2021-07-14 13:58:55 +09:00
Alex Buynytskyy
1a7c729164 Key rotation support when updating an app on IncFS.
Cherry-pick with conflicts resolved.

Bug: 190569284
Fixes: 190569284
Test: have two apks with .idsig; adb install <original apk>; adb install <apk with rotated keys>
Change-Id: I6ff854786aea31c6e9f3f1e33be0a33b4ba67ccb
Merged-In: I6ff854786aea31c6e9f3f1e33be0a33b4ba67ccb
2021-07-13 18:04:43 +00:00
Alex Buynytskyy
7a1de6fe81 Key rotation support when updating an app on IncFS.
Bug: 190569284
Fixes: 190569284
Test: have two apks with .idsig; adb install <original apk>; adb install <apk with rotated keys>
Change-Id: I6ff854786aea31c6e9f3f1e33be0a33b4ba67ccb
Merged-In: I6ff854786aea31c6e9f3f1e33be0a33b4ba67ccb
2021-07-13 17:04:35 +00:00
Yohei Yukawa
3beeb3e3c7 Merge android.util.imetracing into com.android.internal.inputmethod
This CL renames classes related to IME tracing as follows

 * android.util.imetracing.ImeTracing
     => com.android.internal.inputmethod.ImeTracing
 * android.util.imetracing.ImeTracingClientImpl
     => com.android.internal.inputmethod.ImeTracingClientImpl
 * android.util.imetracing.InputConnectionHelper
     => com.android.internal.inputmethod.InputConnectionProtoDumper

Other than those renamings, there should be no observable chagnes.

Fix: 175761228
Test: presubmit
Test: Manually verified that IME tracing still works
Change-Id: I6518d946e1832037f240f57aa900d3447083f1fa
2021-07-09 09:46:36 -07:00
Yohei Yukawa
9dde701446 Switch back to sync IInputMethodManager
This CL logically reverts recent CLs [1][2][3][4][5][6][7][8][9] to
switch back to the previous sync IPC approach in IInputMethodManager
except for the following two IPCs.

 * reportPerceptibleAsync
 * removeImeSurfaceFromWindowAsync

Reason for revert:
We need more time to understand its performance implications.

 [1]: If4b40244a2e0e3b11c38c1da9340ba8e5166ad64
      b9590fa1e1
 [2]: If79e063641a01b325c63eb9f871f5b992d7c0b72
      5a5648dcb5
 [3]: I1547b98b2aacf764e33aadc9ab784f2013f58f2f
      d833f0dab4
 [4]: I646ef4ae0570aae1812ea267f309441fdec6938d
      38fd020616
 [5]: Iaa63e01453da4ff0e3f446eac036b3be3180cb73
      4a820ccc41
 [6]: Id516fd1c961f43ac3e139c88d7ed004c188d458b
      0a32fd21ef
 [7]: Icb396ae5d74060af69c4ecb16723b2e37b9f2067
      c4663ba6a9
 [8]: I3eafbc28ed3acf3ba859885bf201cb06b3149b94
      f226a79fee
 [9]: Ic584203c1221fbae17f5e2d8f09e3992df061646
      5e2d9f271d

Bug: 163453493
Bug: 174892351
Fix: 190486491
Test: atest CtsInputMethodTestCases
Change-Id: If16ac0de536d9089eb04f6e07b1ee47378124658
Merged-In: If16ac0de536d9089eb04f6e07b1ee47378124658
2021-07-02 07:06:07 +00:00
Yohei Yukawa
662b48b72d Switch back to sync IInputMethodManager
This CL logically reverts recent CLs [1][2][3][4][5][6][7][8][9] to
switch back to the previous sync IPC approach in IInputMethodManager
except for the following two IPCs.

 * reportPerceptibleAsync
 * removeImeSurfaceFromWindowAsync

Reason for revert:
We need more time to understand its performance implications.

 [1]: If4b40244a2e0e3b11c38c1da9340ba8e5166ad64
      b9590fa1e1
 [2]: If79e063641a01b325c63eb9f871f5b992d7c0b72
      5a5648dcb5
 [3]: I1547b98b2aacf764e33aadc9ab784f2013f58f2f
      d833f0dab4
 [4]: I646ef4ae0570aae1812ea267f309441fdec6938d
      38fd020616
 [5]: Iaa63e01453da4ff0e3f446eac036b3be3180cb73
      4a820ccc41
 [6]: Id516fd1c961f43ac3e139c88d7ed004c188d458b
      0a32fd21ef
 [7]: Icb396ae5d74060af69c4ecb16723b2e37b9f2067
      c4663ba6a9
 [8]: I3eafbc28ed3acf3ba859885bf201cb06b3149b94
      f226a79fee
 [9]: Ic584203c1221fbae17f5e2d8f09e3992df061646
      5e2d9f271d

Bug: 163453493
Bug: 174892351
Fix: 190486491
Test: atest CtsInputMethodTestCases
Change-Id: If16ac0de536d9089eb04f6e07b1ee47378124658
2021-07-02 07:05:45 +00:00
Kweku Adams
88d0054ea5 Track ongoing events and record them to the Ledger.
Bug: 158300259
Test: Android builds
Change-Id: I9fd4c17d526618ac284ac2336da9bd2e28ccc820
2021-06-29 12:06:55 -07:00
Yanting Yang
001dfa2c40 Merge "Deprecate silky flag for official release" into sc-dev am: f995ce3c52 am: 041c55b51a am: bea1fa96d8
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/14791881

Change-Id: I83f0ac56fdc25d643b84a13820b2cb2d518cc0dc
2021-06-03 04:33:11 +00:00
Yanting Yang
1213001059 Deprecate silky flag for official release
Bug: 183670633
Test: robotests
Change-Id: Ib2e7c6aa31d2428528af9e4a46c4dee5701a6729
2021-06-02 21:10:26 +08:00
Jan Tomljanovic
c18dc78409 Merge "Set SecurityHub to be enabled by default." into sc-dev am: 1008299eeb am: b6d7889e0a
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/14589970

Change-Id: I53fb2598a25c578617c3fb1de17571d8cada0dfb
2021-05-20 00:00:19 +00:00
Jan Tomljanovic
88a1c55848 Set SecurityHub to be enabled by default.
Test: manual test (FeatureFlagUtils#isEnabled returns true)
Bug: 182552455
Change-Id: I318f210fbe11457e6c9ff9297a2024d249eb4442
2021-05-17 14:05:42 +01:00
vichang
8ab2a20952 Merge "Copy StringPool to framework" am: ffe7986d71 am: 91a9308a30 am: f4b981eb46 am: 3a424f08d8
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1684883

Change-Id: Ie8bdb2482daddfd725a4a5d40b0b6d7818f7ce8e
2021-05-06 12:32:58 +00:00
vichang
3a424f08d8 Merge "Copy StringPool to framework" am: ffe7986d71 am: 91a9308a30 am: f4b981eb46
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1684883

Change-Id: I8b493a74501987931b04e8d7482ef07cd78bbafd
2021-05-06 12:16:50 +00:00
Nikita Iashchenko
246c8c1326 Copy StringPool to framework
Libcore class StringPool has single usage outside libcore, in framework.
As a part of api cleanup in libcore StringPool is removed from
SystemApi, thus, it is copied to com.android.internal.util package.

Bug: 154796679
Test: m droid
Test: atest FrameworksUtilTests
Change-Id: Iaa332eb8ade68f3451639bdce62d5cfea30c2f97
2021-04-29 14:09:18 +01:00
Winson
1aa2297f68 Add cert digest separator to pm app link output
For easy copy-paste if someone is configuring their server to host an
assetlinks.json.

Bug: 184954099

Test: manual, pm get-app-links on device

Change-Id: I5ed3505d72b5522202743a49559fbf1230b5767e
2021-04-22 19:15:40 +00:00
Winson
032e3d008e Add cert digest separator to pm app link output
For easy copy-paste if someone is configuring their server to host an
assetlinks.json.

Bug: 184954099

Test: manual, pm get-app-links on device

Merged-In: I5ed3505d72b5522202743a49559fbf1230b5767e
Change-Id: I5ed3505d72b5522202743a49559fbf1230b5767e
2021-04-22 19:15:16 +00:00
Jackal Guo
18119e69cd Merge "Refactor PackageParser (6/n)" 2021-04-08 09:28:21 +00:00
Felipe Leme
188601a826 Removed Slog methods that support message formatting.
Slog is a core class provided by frameworks.jar, and these new methods
were causing performance regressions, so they were moved to a
system_server only class (com.android.server.utils.Slogf).

Test: m

Fixes: 183523451
Bug: 182476140

Change-Id: I511dd57faee194b58cf77c0c39c92dd0e876566e
2021-04-06 22:53:25 -07:00
Almaz Mingaleev
bcb4204697 Merge "Use isShownInPickerAt instead of isShownInPicker." am: bc3fff46d9 am: 7851e524e7 am: e314e455b3
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1655727

Change-Id: I6fc3e9784eeb85de32b26e6bd56c7e7f661aeb33
2021-04-06 14:03:13 +00:00
Felipe Leme
fec71a7117 Moved string-formatting methods from Slog to Slogf.
Slog is a core class provided by frameworks.jar, and these new methods
were causing performance regressions, so they were moved to a
system_server only class.

Bug: 182476140
Bug: 183523451

Test: atest --rebuild-module-info FrameworksMockingServicesTests:SLogfTest

Change-Id: I98cbb122d5410b61812edc85162aa6b10b995fdc
2021-04-02 22:35:20 +00:00
Almaz Mingaleev
66f4e63633 Use isShownInPickerAt instead of isShownInPicker.
The latter is being removed.
The date(1 Jan 2019 00:00) was a cut-off date used in
SettingsUI. This change moves it to reuse that date without
duplication.
Affected method is used in setup wizard to answer "What time zone
IDs should we show for a country?". The question is vague, but
the change keeps user experience consistent across device w/o
breaking method contract.

Bug: 155738410
Test: presubmit
Change-Id: Ib139b316e5909cab18d015b7c163bb9c79bcef5b
2021-03-31 17:03:40 +00:00
Weng Su
c2da105ad9 [Provider Model] Enable Provider Model by default
Bug: 183671325
Test: manual test
Change-Id: I1a3d2da39a6f278fa852827d6730ad3303970eeb
2021-03-31 10:08:18 +08:00
Slava Shklyaev
128e6bb54f Revert "[Provider Model] Enable Provider Model by default"
This reverts commit 48270e3029.

Reason for revert: suspected culprit for http://b/183926475

Change-Id: I49a5abbe7d91110956f66ce7a63a8715a3f24a2b
2021-03-29 15:20:32 +00:00
Jackal Guo
a989d2ec76 Refactor PackageParser (6/n)
Replace PackageParser.SigningDetails by the independent one in order
to move away from PackageParser.

Bug: 174723245
Test: atest -p core/java/android/content/pm \
        core/java/com/android/internal/content \
        services/core/java/com/android/server/pm \
        services/tests/servicestests/src/com/android/server/pm
Change-Id: I5e22dd877072a668583ac37fd6901985625e44ad
2021-03-29 13:03:24 +08:00