Skip to content
Snippets Groups Projects
  1. Sep 01, 2022
    • Android Build Coastguard Worker's avatar
      Snap for 9018797 from 7fa3483d to tm-qpr1-release · 47224b75
      Android Build Coastguard Worker authored
      Change-Id: I65871b1a5ac8cef1e7d9113e718b9a1768c9ec3f
      47224b75
    • Prabir Pradhan's avatar
      Merge changes I111361f7,Ic4979b91,Ic289d772 into tm-qpr-dev · 7fa3483d
      Prabir Pradhan authored
      * changes:
        Reset the touch state when the active viewport is disabled
        Fix issues with InputMapper tests
        Fix spot not disappear when display id changed
      7fa3483d
    • Prabir Pradhan's avatar
      Reset the touch state when the active viewport is disabled · f670dad1
      Prabir Pradhan authored
      When an active viewport becomes inactive, cancel any ongoing gestures
      immediately. When the viewport becomes active again, make sure state is
      reset again so that we eliminate any race conditions between the
      viewport becoming active and first touches coming in from the device.
      
      This is a preventative measure to defend against unexpected touch
      behavior around viewports being activated and deactivated.
      
      Bug: 234662773
      Test: atest inputflinger_tests
      Change-Id: I111361f7470fdad39b493b516e8a8f167e0c681c
      Merged-In: I111361f7470fdad39b493b516e8a8f167e0c681c
      (cherry picked from commit c0bdeefd)
      f670dad1
    • Prabir Pradhan's avatar
      Fix issues with InputMapper tests · 36690419
      Prabir Pradhan authored
      - When an input device is added, a device reset notification is sent.
        This should be consumed when the device is added so that it does
        not need to be consumed in every test case.
      - The above change exposed an issue with a CursorInputMapper test case,
        where it was consuming the wrong device reset notification.
      - When a device is configured, it may produce device reset
        notifications. After configuring, we should loop the input reader so
        that the queued input listener is flushed so that these args can be
        sent out.
      
      Bug: 234662773
      Test: atest inputflinger_tests
      Change-Id: Ic4979b91207a6abf4c4ac65fd3db30307cb53729
      Merged-In: Ic4979b91207a6abf4c4ac65fd3db30307cb53729
      (cherry picked from commit b5174de1)
      36690419
  2. Aug 31, 2022
  3. Aug 30, 2022
  4. Aug 27, 2022
    • Brian Duddie's avatar
      Fix double-close on direct channel registration · 83dde25b
      Brian Duddie authored
      In the AIDL sensor HAL wrapper, file descriptors associated with a
      direct channel were being wrapped in the AIDL NativeHandle type using
      makeToAidl(), which ends up taking ownership of the fds, and
      unintentionally closing them when the object goes out of scope (via
      ndk::ScopedFileDescriptor), so the same fds would be closed at a later
      point when the original native_handle_t is closed.
      
      Switch to dupToAidl() which does not take ownership of the input file
      handles.
      
      Bug: 234456046
      Test: apply fdsan protection (in different CL), confirm via
            test-sensorservice that the file descriptor is not closed twice
      Change-Id: I51c0ba0f31b43c56bf055d186a599b289ca0065f
      83dde25b
  5. Aug 25, 2022
    • Ady Abraham's avatar
      SF: fix refresh rate scoring when frameRateMultipleThreshold is used · fad66b2c
      Ady Abraham authored
      We can't exclude layers that are below the frameRateMultipleThreshold
      when scoring the higher refresh rates (the ones above the threshold)
      as it creates gives the lower refresh rates a higher score (as there are
      more layers that are allowed to score them). Instead we use a different
      approach which first scores the refresh rates based on all the layers
      but the fixed source ones, and then we add the fixed source ones for the
      refresh rates below the thresholds and for the above ones only when other
      layers already scored them.
      
      Bug: 242283390
      Test: newly added unit tests scenarios
      
      SF: layers above the frameRateMultipleThreshold should always be counted
      
      An additional fix on top of ae2e3c74
      which also include layers that have a desired refresh
      rate that was calculated hueristically and matches the max refresh rate.
      
      Bug: 242283390
      Test: newly added unit tests scenarios
      
      Change-Id: I85534a3e004f372349dbf923ee6013855a54e4fa
      Merged-In: Ibe30ddd306265507ceedff6a6a725dadadc50af2
      Merged-In: I85534a3e004f372349dbf923ee6013855a54e4fa
      fad66b2c
  6. Aug 24, 2022
  7. Aug 23, 2022
  8. Aug 20, 2022
  9. Aug 19, 2022
    • Matt Buckley's avatar
      Add additional tests for PowerAdvisor · 57274054
      Matt Buckley authored
      Adds additional tests for PowerAdvisor functionality regarding
      timing and multidisplay
      
      Bug: b/241465879
      Test: atest
      libsurfaceflinger_unittest:libsurfaceflinger_unittest.PowerAdvisorTest
      
      Change-Id: I833e91efb5608d5972220c679a061c9bb51372fa
      57274054
  10. Aug 17, 2022
    • Brian Duddie's avatar
      Reset target SDK version cache on new connection · 0d4ac562
      Brian Duddie authored
      Avoids possibility that a stale cache is used if cleanupConnection()
      does not get called for some reason.
      
      Bug: 230358834
      Test: run POC from b/230358834#comment4
      Change-Id: I2e7422d90cec87167968d56458af9aac6d525506
      0d4ac562
  11. Aug 16, 2022
  12. Aug 15, 2022
  13. Aug 13, 2022
    • Siarhei Vishniakou's avatar
      Allow stylus events in PalmRejector · 6573583a
      Siarhei Vishniakou authored
      After some recent changes, the touchscreen input device has source that
      is a combination of SOURCE_TOUCHSCREEN and SOURCE_STYLUS.
      
      Before this CL, this source is rejected, and therefore palm rejection
      feature is not enabled.
      
      With this CL, any source that has SOURCE_TOUCHSCREEN is allowed. That
      also means that we potentially would invoke the model for stylus events,
      especially if simultaneous touch and stylus are enabled.
      
      The model, however, was never trained on stylus, and is not designed to
      work with it. In preparation to upcoming simultaneous touch+stylus
      feature, in this CL we also remove the stylus pointers before sending
      the data to the model.
      
      The only case where we need to be careful is pointer-down and pointer-up
      events with stylus. In this CL, we drop these events, which should be a
      no-op from the palm rejection model's perpective.
      
      Bug: 241935838
      Test: atest libpalmrejection_test inputflinger_tests
      Change-Id: I760207a82807e03802e72a318fca8b97a4fd7a24
      6573583a
    • Siarhei Vishniakou's avatar
      Call Filter from a separate function · e491fb5a
      Siarhei Vishniakou authored
      The function 'processMotion' has gotten too long. To make it easier to
      reason about, separate some code from the center of the function into a
      new function.
      
      Unfortunately, this new function will have side-effects, but it's still
      easier to understand and reduces the number of local vars.
      
      There's no functional change in this CL.
      
      Bug: 241935838
      Test: atest inputflinger_tests
      Change-Id: I2157798b70299659791ae6ef85b2394e9130b4b3
      e491fb5a
    • Siarhei Vishniakou's avatar
      Add test for heuristic palm rejection · 88151b8f
      Siarhei Vishniakou authored
      For short strokes, the palm rejection code has a heuristic - large
      touches are canceled.
      Since the behaviour is currently present, let's add an integration test
      for it.
      
      Separately, we will also remove 'getLinuxToolType' here because
      tool_type is not used in the palm rejection code.
      
      However, tool_code is used in that code. So let's add getLinuxToolCode
      instead. This piece does not affect the behaviour of the palm rejection
      model, but it makes our inputs more correct.
      
      Bug: 241935838
      Test: atest inputflinger_tests
      Change-Id: Ied9e185bdfc6e892cf3a1069b98101ca8ae9c74b
      88151b8f
    • Android Build Coastguard Worker's avatar
      Snap for 8941678 from 0d6f11f9 to tm-qpr1-release · d2908695
      Android Build Coastguard Worker authored
      Change-Id: I79641d0654fc1d77fa58a27a131b4b5e8bff8ccf
      d2908695
  14. Aug 12, 2022
  15. Aug 10, 2022
    • Matt Buckley's avatar
      Disable ADPF CPU hint session rate limiter · 168609b5
      Matt Buckley authored
      After some testing, it has become clear that the rate limiter is
      unhelpful and possibly harmful for performance. Rate limiting also
      happens on PowerHAL side now, rendering this somewhat redundant,
      so this patch disables rate limiting and hint batching on SF side.
      
      Bug: b/241973353
      Bug: b/195990840
      
      Test: manual
      Change-Id: I7ae43d7c9bfc95c94963ae4852d3190ee987c9aa
      (cherry picked from commit 111de034)
      168609b5
    • Matt Buckley's avatar
      Fix SF hint sessions for virtual multi-display case · 3e68cce4
      Matt Buckley authored
      Currently timing for hint sessions in SurfaceFlinger do not work for
      multi-display case with virtual displays (eg: Android Auto). This
      patch fixes that by tracking true sf present completion time to
      supplement hwc time tracking in the sf main thread deadline case.
      
      Bug: b/241465879
      
      Test: manual
      
      Change-Id: I169dd4f4afd2223ed0a648440d5f59dc19dc07f6
      (cherry picked from commit 1809d90e)
      3e68cce4
  16. Aug 05, 2022
  17. Aug 04, 2022
  18. Aug 03, 2022
  19. Aug 02, 2022
Loading