Commit Graph

27 Commits

Author SHA1 Message Date
Yike
d031ce0e8e Add a missing dependency for UpdatableSystemFontTest
All of a test's dependencies should be explicitly declared in the Soong build module to enable infrastructure features that ensure correctness and optimize runtime.

Here UpdatableSystemFontTest uses EmojiRenderingTestApp, but it doesn't declare the dependency in its Soong build module. This change declares EmojiRenderingTestApp in UpdatableSystemFontTest's `data` attribute.

Bug: 222438068
Test: atest-src UpdatableSystemFontTest \
          --experimental-device-driven-test \
          --experimental-java-runtime-dependencies \
          --bazel-arg=--test_timeout=48000
Test: atest UpdatableSystemFontTest
Change-Id: Ic1b5b94aabd4c95744109f2cc7443ae04c43b3a6
2022-07-26 17:21:25 +08:00
Kohsuke Yatoh
5045660bba Use fake NotoSerif fonts in test.
Bug: 195058030
Test: atest UpdatableSystemFontTest
Change-Id: I7b4a53cf401d72998411bf0e60d1d8f13746f03a
2022-02-16 16:36:25 -08:00
Kohsuke Yatoh
5b1bac7a16 Rename NotoColorEmojiTtf module.
Bug: 191914223
Test: atest UpdatableSystemFontTest
Change-Id: Ic79290beb5d8d24d8835a808de90cb820d774003
2021-07-22 18:58:15 +00:00
Kohsuke Yatoh
ab421faf79 Merge "Remove dependency to real NotoColorEmoji.ttf." into sc-dev am: 0bff2fa4b2 am: 139a52e00d
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15114229

Change-Id: Ib9c932e7b7d34367539a35438fe824cc95943385
2021-07-03 01:58:44 +00:00
Kohsuke Yatoh
5ef0ea1d84 Remove dependency to real NotoColorEmoji.ttf.
NotoColorEmoji.ttf has 'by-exception-only' license and should not have
been depended by vts.
This CL swaps it with a fake NotoColorEmoji.ttf font.
testdata/NotoColorEmoji.ttx is based on
cts/tests/tests/text/assets/fonts/samplefont.ttx

Bug: 191914223
Test: atest UpdatableSystemFontTest
Change-Id: If5f57471b492cae1eb35f6d4a4ac0054270b23a3
2021-06-30 16:11:01 +00:00
Kohsuke Yatoh
1ab7e96c31 Merge "Read font attributes from buffer." into sc-dev am: 7adad678e0 am: 9f5b66cd5c
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/14924347

Change-Id: I84fce8f1eff31fd70e9d22191e38ddeadd222f9e
2021-06-14 21:02:28 +00:00
Kohsuke Yatoh
a3f5f22cbc Read font attributes from buffer.
minikin::Font::typeface() is expensive because it will open the font file.
Font attribute getters should avoid calling it.

Bug: 188201287
Test: atest UpdatableSystemFontTest
Test: atest CtsGraphicsTestCases:FontTest
Test: atest CtsGraphicsTestCases:SystemFontsTest
Change-Id: Ic8554f6dfacbe27ddfea6b375633c96bced2cc09
2021-06-10 21:02:24 +00:00
Kohsuke Yatoh
865a9cb8f0 Add test for font family update.
Bug: 186966067
Test: atest UpdatableSystemFontTest
Change-Id: Ia03aa7818047f3269a0cf932126b9eabcefeb7ae
2021-06-03 20:32:41 +00:00
Kohsuke Yatoh
d3275de48e Close FDs even when throwing SecurityException.
Bug: 187879195
Test: atest UpdatableSystemFontTest
Change-Id: I34d04f152210fe2f89f4d96e920978dde21d06c8
2021-05-13 23:08:33 -07:00
Kohsuke Yatoh
048d4b1788 Close FDs / mmap handles promptly.
Currently we rely on GC to close them.
This may cause system_server crash depending on the timing of GC.

Bug: 187879195
Test: atest UpdatableSystemFontTest
Change-Id: I09ac3f349e5ec100e4164320cbf27977474cc4bb
2021-05-13 16:23:55 +00:00
Kohsuke Yatoh
7a295f21b6 Ignore 'cmd font clear' failure in tearDown().
This would fail (as expected) on Pixel 3 / 3a.
On Pixel 3 / 3a, we skip the test in assumeTrue() in setUp(). tearDown()
should not throw and make the test fail.

Bug: 187364676
Test: forrest
Change-Id: I9e82c2e27c3ef71e73bf022db543318cfc0f2ef7
2021-05-05 22:00:18 -07:00
Kohsuke Yatoh
353937a62b Use FontManager Java API in tests.
Thanks to commit 84383b5ef8, now Shell has
UPDATE_FONTS permission and we can use it in instrumentation tests via
UiAutomation#adoptShellPermissionIdentity().

Bug: 186966067
Test: atest UpdatableSystemFontTest
Change-Id: Idd2043f53d95b7c904d563dd3ef1d1846841c0d6
2021-05-03 11:07:17 -07:00
Kohsuke Yatoh
f74e3b69d4 Make UpdatableSystemFontTest device side test.
As commit 679a824773 removed 'adb shell
stop', this test doesn't need to be a host side test.

This allows us to call FontManager Java API in UpdatableSystemFontTest.
I will rewrite 'cmd font' to FontManager API calls in a following CL.

Bug: 186966067
Test: atest UpdatableSystemFontTest
Change-Id: I3bad29a3ea8402c990ae0dd553d3230db2d9f67c
2021-05-03 11:07:09 -07:00
Kohsuke Yatoh
679a824773 Do not actually reboot the device in VTS test.
- Sometimes reboot takes longer time and makes following tests fail.
- If the device has a screen lock, tests get stuck there.

This is not a new issue, but a recently added test (#launchApp) tries
to start an Activity and it fails when the device is still booting or at
a screen lock.

Bug: 185483743
Bug: 185576411
Test: atest FrameworksServicesTests:UpdatableFontDirTest
Test: atest UpdatableSystemFontTest
Change-Id: I86d4be1761e648114503b5f3560992a89c0b34d7
2021-04-22 00:23:28 +00:00
Kohsuke Yatoh
cebe8bc80a Wait more time for activity start.
- Looks like 5 seconds is too short on some emulator devices.
- Makes sure that the app is installed and enabled.

Bug: 185483743
Bug: 185576411
Test: atest UpdatableSystemFontTest#launchApp --rerun-until-failure
Change-Id: Ibc1dba9f4b2b3c694e186798f65a456e712cba9e
2021-04-20 16:44:36 -07:00
Kohsuke Yatoh
f0c113eac8 Verify updated font is used in app process.
This CL adds a VTS test that:
1. Updates NotoColorEmoji font
2. Launches a test app that renders an emoji
3. Verifies that the updated NotoColorEmoji font file is used by the app
   process.

Bug: 180370569
Test: atest UpdatableSystemFontTest
Change-Id: I418d7cc23a290ebe4ae6e5b8af782b336497fbdd
2021-04-13 15:22:23 -07:00
Kohsuke Yatoh
bd636d8391 Allow same version update.
Bug: 184862662
Test: atest FrameworksServicesTests:UpdatableFontDirTest
Test: atest UpdatableSystemFontTest
Change-Id: Ic955e2713c08e4c258d61cd3b597a472e1e3298c
2021-04-08 12:58:57 -07:00
Kohsuke Yatoh
4ba65f0a54 Revert "Add crash detection and recovery."
This partially reverts the following commits:
- commit de417e735e
- commit 45c6231908

Reason for revert: Caused boot time regression.

Bug: 176939176
Bug: 181536798
Test: atest FrameworksServicesTests:UpdatableFontDirTest
Test: atest UpdatableSystemFontTest
Change-Id: Ibb5505018b24caa442fcbefda57aaa674ab9441e
2021-03-02 11:29:01 -08:00
Bob Badour
d59495855e [LSC] Add LOCAL_LICENSE_KINDS to frameworks/base
Added SPDX-license-identifier-Apache-2.0 to:
  apct-tests/perftests/contentcapture/Android.bp
  apct-tests/perftests/inputmethod/Android.bp
  apex/appsearch/Android.bp
  apex/appsearch/framework/Android.bp
  apex/appsearch/service/Android.bp
  apex/appsearch/testing/Android.bp
  apex/jobscheduler/service/jni/Android.bp
  apex/media/service/Android.bp
  cmds/abx/Android.bp
  cmds/uinput/Android.bp
  cmds/uinput/jni/Android.bp
  core/tests/GameManagerTests/Android.bp
  core/tests/batterystatstests/BatteryStatsLoadTests/Android.bp
  core/tests/batterystatstests/BatteryStatsViewer/Android.bp
  core/tests/devicestatetests/Android.bp
  libs/WindowManager/Shell/tests/flicker/Android.bp
  libs/WindowManager/Shell/tests/flicker/test-apps/flickerapp/Android.bp
  libs/androidfw/fuzz/cursorwindow_fuzzer/Android.bp
  native/android/tests/activitymanager/UidImportanceHelperApps/Android.bp
  native/android/tests/activitymanager/nativeTests/Android.bp
  packages/SettingsLib/BannerMessagePreference/Android.bp
  packages/SettingsLib/CollapsingToolbarBaseActivity/Android.bp
  packages/SettingsLib/EmergencyNumber/Android.bp
  packages/SettingsLib/FooterPreference/Android.bp
  packages/SettingsLib/MainSwitchPreference/Android.bp
  packages/SettingsLib/TopIntroPreference/Android.bp
  packages/SettingsLib/UsageProgressBarPreference/Android.bp
  packages/overlays/AccentColorAmethystOverlay/Android.bp
  packages/overlays/AccentColorAquamarineOverlay/Android.bp
  packages/overlays/AccentColorBlackOverlay/Android.bp
  packages/overlays/AccentColorCarbonOverlay/Android.bp
  packages/overlays/AccentColorCinnamonOverlay/Android.bp
  packages/overlays/AccentColorGreenOverlay/Android.bp
  packages/overlays/AccentColorOceanOverlay/Android.bp
  packages/overlays/AccentColorOrchidOverlay/Android.bp
  packages/overlays/AccentColorPaletteOverlay/Android.bp
  packages/overlays/AccentColorPurpleOverlay/Android.bp
  packages/overlays/AccentColorSandOverlay/Android.bp
  packages/overlays/AccentColorSpaceOverlay/Android.bp
  packages/overlays/AccentColorTangerineOverlay/Android.bp
  packages/overlays/DisplayCutoutEmulationCornerOverlay/Android.bp
  packages/overlays/DisplayCutoutEmulationDoubleOverlay/Android.bp
  packages/overlays/DisplayCutoutEmulationHoleOverlay/Android.bp
  packages/overlays/DisplayCutoutEmulationNarrowOverlay/Android.bp
  packages/overlays/DisplayCutoutEmulationTallOverlay/Android.bp
  packages/overlays/DisplayCutoutEmulationWaterfallOverlay/Android.bp
  packages/overlays/DisplayCutoutEmulationWideOverlay/Android.bp
  packages/overlays/FontNotoSerifSourceOverlay/Android.bp
  packages/overlays/IconPackCircularAndroidOverlay/Android.bp
  packages/overlays/IconPackCircularLauncherOverlay/Android.bp
  packages/overlays/IconPackCircularSettingsOverlay/Android.bp
  packages/overlays/IconPackCircularSystemUIOverlay/Android.bp
  packages/overlays/IconPackCircularThemePickerOverlay/Android.bp
  packages/overlays/IconPackFilledAndroidOverlay/Android.bp
  packages/overlays/IconPackFilledLauncherOverlay/Android.bp
  packages/overlays/IconPackFilledSettingsOverlay/Android.bp
  packages/overlays/IconPackFilledSystemUIOverlay/Android.bp
  packages/overlays/IconPackFilledThemePickerOverlay/Android.bp
  packages/overlays/IconPackKaiAndroidOverlay/Android.bp
  packages/overlays/IconPackKaiLauncherOverlay/Android.bp
  packages/overlays/IconPackKaiSettingsOverlay/Android.bp
  packages/overlays/IconPackKaiSystemUIOverlay/Android.bp
  packages/overlays/IconPackKaiThemePickerOverlay/Android.bp
  packages/overlays/IconPackRoundedAndroidOverlay/Android.bp
  packages/overlays/IconPackRoundedLauncherOverlay/Android.bp
  packages/overlays/IconPackRoundedSettingsOverlay/Android.bp
  packages/overlays/IconPackRoundedSystemUIOverlay/Android.bp
  packages/overlays/IconPackRoundedThemePickerOverlay/Android.bp
  packages/overlays/IconPackSamAndroidOverlay/Android.bp
  packages/overlays/IconPackSamLauncherOverlay/Android.bp
  packages/overlays/IconPackSamSettingsOverlay/Android.bp
  packages/overlays/IconPackSamSystemUIOverlay/Android.bp
  packages/overlays/IconPackSamThemePickerOverlay/Android.bp
  packages/overlays/IconPackVictorAndroidOverlay/Android.bp
  packages/overlays/IconPackVictorLauncherOverlay/Android.bp
  packages/overlays/IconPackVictorSettingsOverlay/Android.bp
  packages/overlays/IconPackVictorSystemUIOverlay/Android.bp
  packages/overlays/IconPackVictorThemePickerOverlay/Android.bp
  packages/overlays/IconShapeHeartOverlay/Android.bp
  packages/overlays/IconShapePebbleOverlay/Android.bp
  packages/overlays/IconShapeRoundedRectOverlay/Android.bp
  packages/overlays/IconShapeSquareOverlay/Android.bp
  packages/overlays/IconShapeSquircleOverlay/Android.bp
  packages/overlays/IconShapeTaperedRectOverlay/Android.bp
  packages/overlays/IconShapeTeardropOverlay/Android.bp
  packages/overlays/IconShapeVesselOverlay/Android.bp
  packages/overlays/NavigationBarMode2ButtonOverlay/Android.bp
  packages/overlays/NavigationBarMode3ButtonOverlay/Android.bp
  packages/overlays/NavigationBarModeGesturalOverlay/Android.bp
  packages/overlays/NavigationBarModeGesturalOverlayExtraWideBack/Android.bp
  packages/overlays/NavigationBarModeGesturalOverlayNarrowBack/Android.bp
  packages/overlays/NavigationBarModeGesturalOverlayWideBack/Android.bp
  packages/overlays/OneHandedModeGesturalOverlay/Android.bp
  packages/services/CameraExtensionsProxy/Android.bp
  services/core/java/com/android/server/speech/Android.bp
  services/musicrecognition/Android.bp
  services/searchui/Android.bp
  services/smartspace/Android.bp
  services/tests/PackageManagerServiceTests/host/libs/IntentVerifyUtils/Android.bp
  services/tests/PackageManagerServiceTests/host/test-apps/DeviceSide/Android.bp
  services/tests/PackageManagerServiceTests/host/test-apps/IntentVerifier/Android.bp
  services/tests/PackageManagerServiceTests/host/test-apps/IntentVerifierTarget/Android.bp
  services/tests/PackageManagerServiceTests/host/test-apps/UsesStaticLibrary/Android.bp
  services/tests/PackageManagerServiceTests/unit/Android.bp
  services/tests/inprocesstests/Android.bp
  services/tests/mockingservicestests/jni/Android.bp
  services/tests/servicestests/test-apps/PackageParsingTestManifests/Android.bp
  services/texttospeech/Android.bp
  services/translation/Android.bp
  tests/BatteryStatsPerfTest/Android.bp
  tests/FlickerTests/test-apps/Android.bp
  tests/Input/Android.bp
  tests/SilkFX/Android.bp
  tests/SurfaceViewBufferTests/Android.bp
  tests/UpdatableSystemFontTest/Android.bp
  tests/UpdatableSystemFontTest/testdata/Android.bp
  tests/benchmarks/internal/Android.bp
  tools/powerstats/Android.bp
  tools/processors/intdef_mappings/Android.bp
  tools/xmlpersistence/Android.bp

Bug: 68860345
Bug: 151177513
Bug: 151953481

Test: m all

Exempt-From-Owner-Approval: janitorial work
Change-Id: I1b8d155a26a1a589a38abedea5f7f366e00346c6
2021-02-23 13:18:34 -08:00
Kohsuke Yatoh
b01ceaccec Move UpdatableSystemFontTest to presubmit.
Bug: 180370699
Test: atest --test-mapping frameworks/base/services/core/java/com/android/server/graphics/fonts --dry-run
Test: atest --test-mapping frameworks/base/tests/UpdatableSystemFontTest --dry-run
Change-Id: I084c641eeb52b2b9e63251ae1e21f5ceb192803a
2021-02-16 16:46:57 -08:00
Kohsuke Yatoh
f26c5a51b5 Merge "Add test for font crash protection." into sc-dev 2021-02-10 00:40:06 +00:00
Kohsuke Yatoh
45c6231908 Add test for font crash protection.
This test modifies the installed font file with block_device_writer.
FontManagerService should detect it and remove the modified file.

Bug: 176939176
Test: atest ApkVerityTest
Test: atest UpdatableSystemFontTest
Change-Id: I7da3f2911459619d5d56a94e091b912d67cb27d3
2021-02-04 21:10:21 -08:00
Kohsuke Yatoh
b4dcfabf07 Merge "Run UpdatableSystemFontTest in postsubmit." into sc-dev 2021-02-05 05:04:15 +00:00
Treehugger Robot
f1f3154e0d Merge "Add tests/UpdatableSystemFontTest/OWNERS." am: 4a3d05551a am: ef21c7447e am: b508d5684c
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1566679

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I5e5d1e301aca8be55785a8f225968340dbe77d7c
2021-02-04 19:24:10 +00:00
Kohsuke Yatoh
14dc2a03ea Run UpdatableSystemFontTest in postsubmit.
Bug: 176939176
Test: atest --test-mapping frameworks/base/tests/UpdatableSystemFontTest:postsubmit
Change-Id: I3aeb54cf8af6c3fb235ba13acbc24eb360f5237a
2021-02-03 14:28:10 -08:00
Kohsuke Yatoh
bc7182206b Integration test for updatable system font.
This test:
(1) signs a font file with the test key.
(2) side-loads the test cert to the device under test.
(3) verifies that the signed font file can be installed.

The device must be rootable for doing step (2).

Bug: 176939176
Test: atest UpdatableSystemFontTest
Change-Id: I7a9b614aa3c77589c3495b663cb76056ba657006
2021-02-01 13:57:19 -08:00
Kohsuke Yatoh
a1de31b25c Add tests/UpdatableSystemFontTest/OWNERS.
Bug: 176939176
Test: n/a
Change-Id: I42c20dd5dd5121720acae6eb747a62953b26b3aa
2021-02-01 08:23:53 +00:00