1. 10 Jul, 2020 2 commits
  2. 30 Jun, 2020 1 commit
  3. 29 Jun, 2020 1 commit
    • Kevin DuBois's avatar
      SF: update VSP timebase on error condition · 241d0eed
      Kevin DuBois authored
      When an vsync timestamp is recorded that is anonmolous to the currently
      recorded timestamp ringbuffer, update the timebase for synthetic
      calculations.
      
      Test: 2 new unit tests
      Test: visual spot checking interactions on pixel4 device
      Test: uibench a/b anti-regression
      Test: dogfood with patch based one recent rvc build.
      Fixes: 159882858
      Change-Id: Ie201cd593a54586d9b1f488c6d2ca44178d75cf1
      241d0eed
  4. 27 Jun, 2020 1 commit
  5. 26 Jun, 2020 9 commits
  6. 25 Jun, 2020 6 commits
  7. 24 Jun, 2020 4 commits
    • Josh Gao's avatar
      adbd_auth: return auth id when requesting a prompt. · 9e933c54
      Josh Gao authored
      When multiple auth requests come in (e.g. if someone connects over TCP
      and USB, or if we send a USB request, and then kill adb and try again),
      we need to know the ID assigned to the request to disambiguate.
      
      Bug: http://b/159061108
      Test: manual
      Change-Id: I68cf2335c5958decf29e58ed9132735577a7e074
      9e933c54
    • Josh Gao's avatar
      adbd_auth: improve logging. · 975cee72
      Josh Gao authored
      Bug: http://b/159061108
      Test: treehugger
      Change-Id: I4aa83e71ea99752dd819a5a5a9d7a050f49c1dae
      975cee72
    • Robert Carr's avatar
      SurfaceFlinger: Force runHandleTransaction · 6417d2e5
      Robert Carr authored
      In the linked bug, there are traces documenting cases where
      the user observes jank while deferred transactions are in play.
      We can see several cases where the client gets stuck for a long
      time on dequeueBuffer. Around these times we can also see cases where
      latchBuffer aborts early due to the !allTransactionsSignaled condition.
      We expect all the transactions to be signalled at this point, because
      before handlePageFlip we expect to reach handleTransactionLocked,
      which should call notifyAvailableFrames, marking the sync points
      available based on the head frame number. However if we study the trace
      we also see there is an onMessageInvalidate, which contains
      a handlePageFlip but does NOT contain the handleTransaction before it
      which we would expect. However we know if onMessageInvalidate calls
      handlePageFlip (via handleMessageInvalidate) then it must have called
      handleMessageTransaction, as these two lines are right next to
      eachother. We can thus conclude that we see the problem because
      handleMessageTransaction didn't call handleTransaction due to
      runHandleTransaction evaluating to false. This makes sense in the
      context of recent changes. Previously deferred transactions would set
      the transaction flags continuously while they were pending, so the
      server would always perform transactions when waking up, and we wouldn't
      get in this condition. However, setting the transaction flags
      always triggers a wake up! But we don't actually want to wake up until
      the frame actually arrives, so first we tried setting the transaction
      flags without triggering a wake up. But we found this could prevent
      other people from triggering wakeups, so a recent CL modified it to
      set mForceTraversal instead. Intending to force that we call
      doTransaction from handleMessageInvalidate regardless of whether a
      new transaction has arrived (because we need to check if an old
      transaction is now ready). However, it didn't quite work because of this
      early abort due to runHandleTransaction.
      
      Bug: 159677043
      Test: Existing tests pass
      Change-Id: I84f2a9cca2ebb3f59d30924efdb39c917f47111b
      6417d2e5
    • arthurhung's avatar
      Clear spam log for INPUT_FEATURE_NO_INPUT_CHANNEL window · be737674
      arthurhung authored
      Currently, in order to detect occlusion input, all buffered layers
      would update input info into InputFlinger, so the window may contain
      null token, we should check if id is also identical to prevent get the
      wrong result
      
      Bug: 159349058
      Test: Enable show tap, open bubble and watch logs.
      Change-Id: I8412812e9b100988ab380ad64366f2548e50d9e5
      be737674
  8. 23 Jun, 2020 5 commits
    • Mady Mellor's avatar
      Revert "Clear spam log for INPUT_FEATURE_NO_INPUT_CHANNEL window" · 017bcd17
      Mady Mellor authored
      This reverts commit 80d685ae.
      
      Reason for revert: seeing if maybe caused regression (b/159719013)
      Bug: 159719013
      Bug: 159349058
      Change-Id: Iac21f799822bab5c26b9753ed78617e0087810bf
      017bcd17
    • Vishnu Nair's avatar
      Call Layer::getLayerDebugInfo from the main thread · 927b3b12
      Vishnu Nair authored
      Fixes an issue where drawing state could be accessed from a binder
      thread. The function also mixed current state with drawing state
      incorrectly. The function now only retrieves drawing state.
      
      Bug: 150226608
      Test: Steps in bug doesn't repro
      Test: atest sffakehwc_test
      Merged-In: I04daedcb9a890083cc710bab30b295e14b9872ae
      Change-Id: I04daedcb9a890083cc710bab30b295e14b9872ae
      927b3b12
    • Vishnu Nair's avatar
      Call Layer::getLayerDebugInfo from the main thread · b123f47b
      Vishnu Nair authored
      Fixes an issue where drawing state could be accessed from a binder
      thread. The function also mixed current state with drawing state
      incorrectly. The function now only retrieves drawing state.
      
      Bug: 150226608
      Test: Steps in bug doesn't repro
      Test: atest sffakehwc_test
      Merged-In: I5537c53e8214e2785473839d71fd483d1a3219b6
      Change-Id: I04daedcb9a890083cc710bab30b295e14b9872ae
      b123f47b
    • arthurhung's avatar
      Clear spam log for INPUT_FEATURE_NO_INPUT_CHANNEL window · 80d685ae
      arthurhung authored
      Currently, in order to detect occlusion input, all buffered layers
      would update input info into InputFlinger, so the window may contain
      null token, we should check if id is also identical to prevent get the
      wrong result.
      
      Bug: 159349058
      Test: Enable show tap, open bubble and watch logs.
      Change-Id: Ia1841ba51bce00fc9901fdf7324e8e31d9737082
      80d685ae
    • TreeHugger Robot's avatar
      402bbb4a
  9. 22 Jun, 2020 8 commits
  10. 19 Jun, 2020 3 commits
    • Brian Duddie's avatar
      Skip checking the app op for step sensors for legacy apps · 457e639a
      Brian Duddie authored
      To maintain backwards compatibility, ensure that apps with target SDK
      set to P or lower get access to step count and detect sensors,
      regardless of their permission status. After a change was made to the
      app ops code in rvc-dev, this check resulted in compatibility breakage
      for some apps built with target SDK before Q.
      
      Fixes: 157638722
      Test: confirm that a popular step counting app from the Play Store is
            able to receive step count events after the change (where it
            couldn't before)
      Change-Id: Idab0ec458221524997f68311f4c6b216c969cb61
      457e639a
    • Valerie Hau's avatar
      Only force send callbacks if they are registered · 109ad715
      Valerie Hau authored
      Some clients of ASurfaceControl may not set callbacks.  We do not want
      to call finalizePendingCallbacks in this case.
      
      Bug: 159231312
      Test: build, boot, SurfaceFlinger_test, libsurfaceflinger_unittest
      Change-Id: I62dc270302a60274d8d1192d0e35ce3f48721e6c
      109ad715
    • TreeHugger Robot's avatar