Skip to content
Snippets Groups Projects
  1. Apr 16, 2024
  2. Jan 29, 2024
    • Victor Chang's avatar
      Avoid mockito in MotionPredictorBenchmark · b1bf611b
      Victor Chang authored
      Mockito dominates the time to create MotionPredictor, and
      it can be avoided.
      
      The median time reduces from ~39614ns to ~683ns. (-98%).
      
      Bug: 321913450
      Test:  atest CorePerfTests:android.input.MotionPredictorBenchmark
      Change-Id: Idea21b5627a25af8d5941bb8c7a1ff567eb2504d
      b1bf611b
  3. Dec 13, 2023
    • TYM Tsai's avatar
      Move package parsing implementations to internal · 4bf59a58
      TYM Tsai authored
      1. Move implementations and related utils to internal
      2. Make calling SystemConfig methods from ParsingPackageUtils.Callback
         to avoid calling from the client side.
      3. Move isMatch and isEnabled from ComponentParseUtils to PackageInfoUtils
      4. Move string from SELinuxUtil to SeinfoUtil
      5. Move some methods from AndroidPackageUtils to AndroidPackageLegacyUtils
      6. Copy some methods from PackageInfoUtils to AppInfoUtils
      7. Use PackageParserException instead of PackageManagerException for
         validatePackageDexMetadata method
      
      Bug: 309596860
      Test: build pass and boot to home
      Test: atest PackageManagerServiceServerTests
      Test: atest PackageManagerComponentOverrideTests
      Test: atest PermissionServiceMockingTests
      Test: atest PackageManagerServiceUnitTests
      Test: atest PackageManagerPerfTests
      Change-Id: I3de48d0d8adf714447823408673e07ed379f27ab
      4bf59a58
  4. Nov 22, 2023
    • Riddle Hsu's avatar
      Update trace name for wm perf test · c6ac3b51
      Riddle Hsu authored
      Legacy transition -> shell transition:
       AppTransitionReady -> onTransactionReady
      Global transaction is removed:
       open/closeSurfaceTransaction -> applyTransaction
      
      Bug: 206872204
      Test: atest InternalWindowOperationPerfTest
      Change-Id: I9f619486395ce17e2d0d9db7958869f5c32e146a
      c6ac3b51
  5. Nov 20, 2023
    • Riddle Hsu's avatar
      Fix no-op RelayoutPerfTest · 749cadd1
      Riddle Hsu authored
      The test has lost its functionality since [1].
      Because the relayout invocation will be skipped if the
      sequence number is old.
      
      [1]: Ifb365789fa08103773fd3180e486ba1d92042fc5
      
      Bug: 206872204
      Test: atest RelayoutPerfTest
      Change-Id: Ic8eb77a13a27a6c92279794cd7ed1981e1b03560
      749cadd1
  6. Nov 17, 2023
    • Jared Duke's avatar
      Update OWNERS for perftests · ccfbff08
      Jared Duke authored
      Add current perf team members shayba@ and jdduke@, and remove
      former members jpakaravoor@, balejs@, and cfijalkovich@.
      
      Test: N/A
      Change-Id: If786fa38bc5f86d9e64b1672bdcf5e8cde178aec
      ccfbff08
  7. Nov 16, 2023
    • John Reck's avatar
      Only use the gainmap shader if we might need it · 6256c0f5
      John Reck authored
      Skip using the gainmap shader when drawing to a bitmap
      with a known SDR colorspace as it'll be a no-op in
      rendering results since W=1.0, but it'll be very expensive
      in runtime due to CPU evaluation of the SKSL shader.
      
      Before:
      createScaledBitmapWithGainmap_median (ns): 179,455,037
      
      After:
      createScaledBitmapWithGainmap_median (ns): 15,643,742
      
      Bug: 311085927
      Test: benchmark in CL
      Change-Id: I3f2506a2bd86bbe29c6e0837d31e4a231a7c182a
      6256c0f5
  8. Nov 15, 2023
    • Chavi Weingarten's avatar
      Change session.remove to take an IBinder instead of an IWindow · 64ea5eaa
      Chavi Weingarten authored
      Removing the window will tear down the input connection for an embedded
      window. To make it more generic and allow non windows to have
      InputChannel, it's simpler to pass in an IBinder instead of creating a
      fake IWindow.
      
      Test: WindowStateTests
      Bug: 278757236
      Change-Id: Ie632429e3c890077d6c4788941c686977d1ba5c9
      64ea5eaa
    • John Reck's avatar
      Only use the gainmap shader if we might need it · 859af0d1
      John Reck authored
      Skip using the gainmap shader when drawing to a bitmap
      with a known SDR colorspace as it'll be a no-op in
      rendering results since W=1.0, but it'll be very expensive
      in runtime due to CPU evaluation of the SKSL shader.
      
      Before:
      createScaledBitmapWithGainmap_median (ns): 179,455,037
      
      After:
      createScaledBitmapWithGainmap_median (ns): 15,643,742
      
      Bug: 311085927
      Test: benchmark in CL
      Change-Id: I3f2506a2bd86bbe29c6e0837d31e4a231a7c182a
      859af0d1
    • Cole Faust's avatar
      Fixes for errorprone update · a599ed93
      Cole Faust authored
      Bug: 311064136
      Test: m RUN_ERROR_PRONE=true javac-check
      Change-Id: Ia6e4162a4244793f772dc880b73be0bc30f26d8b
      a599ed93
  9. Sep 22, 2023
    • Vishnu Nair's avatar
      Hide immersive mode confirmation dialog during SurfaceFlingerPerfTests · 3219d2f0
      Vishnu Nair authored
      Test: atest android.surfaceflinger.SurfaceFlingerPerfTest
      Bug: 298240242
      Change-Id: I87117178a296df9741def8e1c8e711c412d31761
      3219d2f0
    • Vishnu Nair's avatar
      Denoise hermetric surfaceflinger perf tests · dd87ba45
      Vishnu Nair authored
      Remove overheard by disabling features during the test including:
      - perfetto tracing
      - region sampling by hiding navbar
      - transaction tracing
      
      Reduce variations between each frame by
      - forcing max frame rate (avoids any frame misses)
      - consuming transform hint (avoids gpu comp)
      - starting simpleperf after test setup to move test activity
      launch outside of measurement window
      
      Test: atest android.surfaceflinger.SurfaceFlingerPerfTest
      Bug: 298240242
      Change-Id: Ida7422c37b9afa323147949c9776c042ca97cd08
      dd87ba45
  10. Sep 21, 2023
    • Yeabkal Wubshit's avatar
      Add ViewConfigurationPerfTest · 668e1749
      Yeabkal Wubshit authored
      Created two simple benchmark tests to measure performance of
      ViewConfiguration#get.
      
      Bug: 299587011
      Test: atest ViewConfigurationPerfTest
      
      Change-Id: If502a4acb6bc6080af134675e610a76df59c538a
      668e1749
  11. Sep 11, 2023
  12. Sep 08, 2023
  13. Aug 23, 2023
  14. Aug 22, 2023
    • Colin Cross's avatar
      Fix kotlin nullable errors in perftests · 2522501d
      Colin Cross authored
      Fix kotlin nullable errors that were exposed by setting the retention
      of android.annotation.NonNull and android.annotation.Nullable to
      class retention.
      
      Bug: 294110802
      Test: builds
      Change-Id: Icfec5d0e20b534d7af9aeb1b539a711db76d5e5c
      2522501d
  15. Aug 16, 2023
  16. Aug 10, 2023
    • John Reck's avatar
      Remove noisy tests · 3bfcdc9a
      John Reck authored
      These just boil down to tests of malloc which are noisy
      and of low value. Remove them
      
      Fixes: 241342144
      Test: N/A
      Change-Id: I3839c6c7c0e9eee3621512d923318a43866ee165
      3bfcdc9a
  17. Aug 02, 2023
  18. Jul 20, 2023
  19. Jul 19, 2023
  20. Jun 30, 2023
    • Riddle Hsu's avatar
      Remove legacy recent animation perf test · 3181b4f7
      Riddle Hsu authored
      Since shell transition is enabled, startRecentsActivity is no
      longer used to enter recent.
      
      And because shell recent animation uses the regular transition,
      the perf metrics of "Transition Delay - App to Quickstep" is enough.
      
      Bug: 131727899
      Test: build
      Change-Id: Iee8cbf980d5ca16f3cad0c19d9717a7bcb388740
      3181b4f7
  21. Jun 27, 2023
  22. Jun 13, 2023
  23. Jun 05, 2023
  24. Jun 01, 2023
  25. May 19, 2023
    • Sudheer Shanka's avatar
      Explicitly add "flush-broadcast-loopers" option. · 6eb0f68b
      Sudheer Shanka authored
      Recently, flushing the broadcast loopers behavior, when
      "wait-for-broadcast-barrier" command is invoked, is made
      optional which resulted in some regressions in multi-user
      tests as they same to be relying on flushing the broadcast
      loopers behavior. So, explicitly add this option when
      invoking the command.
      
      Bug: 282848750
      Test: atest android.multiuser.UserLifecycleTests
      Change-Id: I6ba4e0858a63653b731c7a24b600ce9af758d39c
      6eb0f68b
    • Hiroki Sato's avatar
      Don't enable a11y during ViewShowHidePerfTest · 919f2929
      Hiroki Sato authored
      Previous change Ieb506ca2ee8aee7a529183507e04382d167304b3 made this test
      regressed, but unless the test is verifying the behavior of
      accessibiltiy framework, accessibility can be disabled.
      
      Bug: 282011153
      Test: ViewShowHidePerfTest
      Change-Id: I5ee374617fa4e3507037ae723b2b8102c09ac212
      919f2929
  26. May 10, 2023
  27. Apr 26, 2023
    • Yasin Kilicdere's avatar
      Start test apks via adb command instead of calling the API directly. · 6b4da17b
      Yasin Kilicdere authored
      Calling the API was failing with ActivityManager.START_ABORTED error
      code. This CL fixes that issue by starting the test apk via abd shell
      command.
      
      Bug: 279403644
      Test: atest UserLifecycleTests
      Change-Id: I86d0c0f8ccd0f17833ad418c29be19489a2fdc9f
      6b4da17b
    • Yasin Kilicdere's avatar
      Start user in background via adb command instead of calling the API. · 84ff04d3
      Yasin Kilicdere authored
      If the user to be started is a profile of a current foreground user,
      it should be started via IActivityManager.startProfileWithListener API
      instead of IActivityManager.startUserInBackgroundWithListener. This
      logic is already implemented in ActivityManagerShellCommand, so rather
      than duplicating it, we'll be doing it by running the shell command.
      
      Bug: 279403644
      Test: atest UserLifecycleTests
      Change-Id: I4b9e6f1e565187e93e13ad94f41d51ee5f7e3e42
      84ff04d3
  28. Apr 25, 2023
  29. Apr 20, 2023
    • Yasin Kilicdere's avatar
      Fullscreen user switching dialog with animations. · 4eb7c3fe
      Yasin Kilicdere authored
      Instead of freezing the screen during the user switch, with this CL
      we are introducing a full screen user switcher, which is showing
      target user's user name and profile photo with an animated spinner
      around it.
      
      Steps of a user switch:
      1. 300ms - dialog show animation
      2. 500ms - spinner animation around profile picture
      3. Do the actual user switch
      4. 300ms - dialog dismiss animation
      5. End user switch (call UserSwitchObservers.onUserSwitchComplete, and
         send ACTION_USER_SWITCHED broadcast)
      
      Changes:
      * Step1 was already there.
      * Step2 is added between 1-3, which shows a nice smooth progress
        animation around profile picture, but increases the user switch
        duration by 500ms.
      * Step5 and Step4 were running at the same time before, now Step5 is
        postponed after the completion of Step4. Otherwise, dismiss
        animation becomes jerky. It was also jerky with unfreezing the
        screen, now that jerkiness is gone.
      * All animations are disabled for slower devices.
        see: ActivityManager.isLowRamDeviceStatic()
      
      Results:
      * We're increasing the user switch duration by 800ms. (Step2 + Step4)
      * We've a full screen user switcher with smooth animations.
      * There is no more jerkiness in any stage (showing, during, hiding) of
        the dialog.
      
      Notes:
      * Our intention was to run Step2 and Step3 simultaneously but it makes
        the spinner animation jerky.
      * We're disabling the dialog show/hide and spinner animations when
        running UserLifecycleTests.
      
      Bug: 269237775
      Bug: 223090747
      Test: atest FrameworksServicesTests:UserControllerTest
      Test: atest UserLifecycleTests
      Change-Id: I5e0132e19c8da25438c5dbfecdeddf475b18f7d4
      4eb7c3fe
  30. Apr 11, 2023
  31. Apr 05, 2023
  32. Apr 03, 2023
Loading