Skip to content
Snippets Groups Projects
  1. May 03, 2024
    • Oriol Prieto Gasco's avatar
      RESTRICT AUTOMERGE · 7b816129
      Oriol Prieto Gasco authored
      Set the container field of aconfig flags
      
      Test: printflags --format='{package}:{container}:' | grep "::"
      Bug: 312769710
      Flag: NONE
      Change-Id: I84fda0d5e9813940609436d825738ff786908ff0
      7b816129
  2. Mar 15, 2024
  3. Feb 26, 2024
    • Susan Lin's avatar
      Correctly Set Primary Pointer in TouchState · 36daebd7
      Susan Lin authored
      Previously, the primary pointer was always set to the
      most recent pointer down. That is not the expected behavior,
      as the primary pointer is meant to be the pointer that has
      been down the longest. This change fixes this so that when a
      new pointer goes down, the primary pointer is only changed if
      it is the start of a new pressed gesture.
      
      Test: Manual
      Steps:
      1. Run `adb shell setprop log.tag.TouchExplorer DEBUG` to
         enable TouchExplorer Logs. Restart your device.
      2. Install a 3P A11y Service that has Touch Exploration Enabled.
      3. Now run `adb logcat | grep "ReceivedPointerTracker”`.
      4. Place multiple fingers on the screen and then lift the first one.
         Note that the `Primary Pointer` is set to the pointer
         that has been there the longest (not the most recent).
      
      Change-Id: Ie05f0aa3da90250327d56f08a347231a4e743b2c
      36daebd7
  4. Dec 12, 2023
    • Thiébaud Weksteen's avatar
      Enable PermissionAnnotationDetector for services.accessibility · 39b25def
      Thiébaud Weksteen authored
      Enable the linter and capture the current status by annotating Stub
      classes with @SuppressWarnings.
      
      The intent of this series of change is to ensure that all exposed Binder
      methods from system_server are annotated. Service owners can start using
      the following annotations on each method:
      - @EnforcePermission, if a permission is required. The same annotation
        will be defined on the AIDL interface definition.
      - @RequiresNoPermission, if no permission is required.
      - @PermissionManuallyEnforced, if a specific mechanism to enforce
        permission is required.
      
      See go/aidl-enforce-howto for more background information and details on
      how to migrate interfaces.
      
      Test: m lint-check
      Bug: 220214993
      Change-Id: I4a6a48545251dfccad4464bb76a219005d7633b2
      39b25def
  5. Dec 09, 2023
    • Jean Chen's avatar
      feat(MultiFingerMultiTap): Use a two-finger double tap instead of a two-finger... · 2fe50024
      Jean Chen authored
      feat(MultiFingerMultiTap): Use a two-finger double tap instead of a two-finger triple tap in magnification
      
      NO_IFTTT=add the multi-finger multi-tap feature without syncing to the old state
      
      Bug: 315264770
      Test: manual
      Test:atest FullScreenMagnificationGestureHandlerTest
      Test:atest WindowMagnificationGestureHandlerTest
      Change-Id: Ia5993d94f3782b9d805147d4caba6ff72966dbac
      2fe50024
  6. Dec 08, 2023
    • Candice Lo's avatar
      refactor(magnification): Renaming IWindowMagnificationConnectionCallback as... · 83bd30bf
      Candice Lo authored
      refactor(magnification): Renaming IWindowMagnificationConnectionCallback as IMagnificationConnectionCallback
      
      Considering the connection callback is handling functions more than window magnification operations, we would like to rename it as IMagnificationConnectionCallback.
      
      Bug: 310109308
      Test: manually. Renaming the class and methods
            atest IMagnificationConnectionTest
            atest MagnificationConnectionManagerTest
            atest MagnificationConnectionWrapperTest
      Flag: NA
      Change-Id: Ic2e17dcb40602b97e07c5491f668ae6815240dd9
      83bd30bf
  7. Dec 07, 2023
    • Jean Chen's avatar
      fix(MultiFingerMultiTap): Two-Finger triple tap while zoomed in doesn't zoom... · 13f1af41
      Jean Chen authored
      fix(MultiFingerMultiTap): Two-Finger triple tap while zoomed in doesn't zoom out full screen magnification
      
      The root cause lies in the state transitioning to another state before the multi-finger multi-tap gesture is completed.
      After test, we still need to implement a delay to determine whether the gesture is a single tap or a multi-tap. If it is a multi-tap, the ACTION_UP event will interrupt the magnification transition to the panning state. Otherwise, we need to interrupt the magnification transition to the delegating state in ACTION_MOVE to ensure the reachability of the two-finger triple tap (triggerable with ACTION_UP)
      
      NO_IFTTT=add the multi-finger multi-tap feature without syncing to the old state
      
      Bug: 315225078
      Test: manual
      Test: atest FullScreenMagnificationGestureHandlerTest
      Change-Id: Ic6176857baf3f006b26b7737a913efe69b7e061f
      13f1af41
    • Abirami Kalyan's avatar
      Create gesture utils java library · b94ac547
      Abirami Kalyan authored
      Test: Manual
      
      Bug: 312652056
      
      Change-Id: I63ec51b3d842527f88406813e26494f7d3a30f25
      b94ac547
    • Linnan Li's avatar
      Fix DelayedTransition async use original MotionEvent obj · 55a24c6c
      Linnan Li authored
      
      Because MotionEvent can reuse, so if we async use MotionEvent, we
      should use it's copy, or it will cause some exception randomly.
      
      Bug: 280130713
      Test: existing internal+CTS gesture tests
      Test: atest TwoFingersDownOrSwipeTest
      Change-Id: I5d123ac19e158a490f0f05e3f3112403ddf4e03e
      Signed-off-by: default avatarLinnan Li <lilinnan@xiaomi.corp-partner.google.com>
      55a24c6c
  8. Dec 05, 2023
    • Daniel Norman's avatar
      Use A11yManagerService to check if the A11yService warning is required. · 592a9570
      Daniel Norman authored
      This new location provides a single source of truth for whether the
      warning must be shown.
      
      A11yManagerService is the central system service with complete knowledge
      of the state of enabled services & service shortcuts. Clients (SysUI,
      Settings, etc.) should not be calculating this decision themselves.
      
      Note: renames flag to cleanup_accessibility_warning_dialog.
      This flag is not yet rolled out so the rename is effectively
      just deleting the old flag & adding a new one.
      
      NO_IFTTT=New IFTTT tags
      
      Bug: 303511250
      Test: atest AccessibilityShortcutChooserActivityTest
      Test: atest AccessibilityManagerServiceTest
      Test: m RunSettingsRoboTests ROBOTEST_FILTER=ToggleAccessibilityServicePreferenceFragmentTest
      Change-Id: I76b012443cf510b36cc5b3f7f9ed0a7731312a06
      592a9570
  9. Dec 01, 2023
    • Ameer Armaly's avatar
      Add motion event observing feature. · f4c81d45
      Ameer Armaly authored
      Bug: 297595990
      
      Test: atest AccessibilityEndToEndTest
      Change-Id: Ic6fbcdb00ea18f2a5ee2796462eed4ea3cce0e7b
      f4c81d45
    • Sally's avatar
      Make ProxyManager calls loggable on debug builds · 03a11e6a
      Sally authored
      This copies some existing classes like AccessibilityCache(ag/6154093)
      and TouchExplorer and should make it easier to debug problems our
      clients encounter.
      
      Test: manual, "adb shell setprop log.tag.ProxyManager D" and restart
      Bug: 229123285
      
      Change-Id: I853c08bb5c807797a7983291bcec775129a96484
      03a11e6a
    • Jean Chen's avatar
      fix(MultiFingerMultiTap): The two finger triple tap is hard work when Magnification is activated · 120e7c46
      Jean Chen authored
      1. ACTION_POINTER_DONW: The two-finger triple tap and two-finger swipe are closely similar gestures when the user doesn't complete the triple tap. To differentiate between these gestures, we implement a delay and utilize the ACTION_UP event to determine whether it's a multi-tap or single-tap gesture.
      2. ACTION_MOVE: When the ACTION_MOVE event is triggered before ACTION_PINTER_DONW for second tap, mSecondPointerDownLocation has already been set during the ACTION_POINTER_DOWN of first tap and we stop it transition to the panning state due to a two-finger triple tap (ACTION_UP), so, we need to check the value of mCompletedTapCount for second tap.
      
      NO_IFTTT=add the multi-finger multi-tap feature without syncing to the old state
      
      Bug: 313721606
      Test: manual
      Test: atest FullScreenMagnificationGestureHandlerTest
      Change-Id: I136185e96b621f595d4feb8cc774264161237493
      120e7c46
  10. Nov 28, 2023
    • Candice Lo's avatar
      refactor(magnification): Renaming IWindowMagnificationConnection as IMagnificationConnection · 27ca5590
      Candice Lo authored
      Considering the connection is handling functions more than window
      magnification operations, we would like to rename it as
      IMagnificationconnection.
      
      Bug: 310109308
      Test: manually. Renaming the class and methods
            atest IMagnificationConnectionTest
            atest android.view.accessibility.AccessibilityManagerTest
            atest MagnificationTest
            atest CommandQueueTest
            atest com.android.server.accessibility.magnification.FullScreenMagnificationControllerTest
            atest MagnificationConnectionWrapperTest
            atest MagnificationControllerTest
            atest MagnificationConnectionManagerTest
            atest WindowMagnificationGestureHandlerTest
      Flag: NA
      Change-Id: I6a19621dcf83e3c37b99204631e9bc022e894b5a
      27ca5590
    • Candice Lo's avatar
      refactor(magnification): Rename methods setScale based on its targets · 3323fd31
      Candice Lo authored
      We would like to rename the methods setScale() as setScaleForWindowMagnification() to provide more precise method names.
      
      Bug: 310109308
      Test: manually. Renaming methods
            atest MagnificationTest
            atest MagnificationConnectionManagerTest
            atest MagnificationControllerTest
            atest WindowMagnificationControllerTest
            atest MagnificationConnectionWrapperTest
      Flag: NA
      Change-Id: I0fca90e2f3e99685dc90ea5df03414fb72c6c4a0
      3323fd31
    • Candice Lo's avatar
      refactor(magnification): Renaming WindowMagnificationManager class as... · b0fecc88
      Candice Lo authored
      refactor(magnification): Renaming WindowMagnificationManager class as MagnificationConnectionManager
      
      The class WindowMagnificationManager handles stuffs more than magnification window mode. Therefore, we would like to rename the class to improve the readability of our codebase and avoid confusion. Since the class targets at managing the magnification connection operations, we will name it MagnificationConnectionManager.
      
      Bug: 310109308
      Test: manually. Renaming the class
            atest MagnificationProcessorTest
            atest MagnificationControllerTest
            atest MagnificationConnectionManagerTest
            atest WindowMagnificationGestureHandlerTest
            atest AccessibilityManagerServiceTest
      Flag: NA
      Change-Id: Ie4d53ba63aa6d6cadf4cf455f1ece534a54cad0a
      b0fecc88
  11. Nov 23, 2023
    • Jean Chen's avatar
      feat(MultiFingerMultiTap): Log two finger triple tap shortcut type · 625ede99
      Jean Chen authored
      NO_IFTTT=add the multi-finger multi-tap feature without syncing to the old state
      
      Bug: 309534286
      Test: adb shell device_config put accessibility com.android.server.accessibility.enable_magnification_multiple_finger_multiple_tap_gesture true
      adb shell stop && adb shell start
      atest FullScreenMagnificationGestureHandlerTest
      Change-Id: If17fb390aab0c8a4cdbc968167acd0c85646946b
      625ede99
  12. Nov 22, 2023
    • Melody Hsu's avatar
      Update captureDisplay flag to be read-only. · 31c76e00
      Melody Hsu authored
      Flag needs to be read-only, but the flag cannot be
      updated. A new flag must be created, and this also
      tests if old flags can be deleted.
      
      Bug: 293445881
      Test: presubmit
      Change-Id: Ifbf187ea4b49e41772f537563fcdfffe117d8d74
      31c76e00
  13. Nov 17, 2023
  14. Nov 16, 2023
    • Jean Chen's avatar
      feat(MultiFingerMultiTap): Implement two finger triple tap feature on... · 5dcb907b
      Jean Chen authored
      feat(MultiFingerMultiTap): Implement two finger triple tap feature on FullScreenMagnificationGestureHandler
      
      NO_IFTTT=add the multi-finger multi-tap feature without syncing to the old state
      
      Bug: 297805269
      Test: manual
      Test: adb shell device_config put accessibility com.android.server.accessibility.enable_magnification_multiple_finger_multiple_tap_gesture true
      adb shell stop && adb shell start
      atest FullScreenMagnificationGestureHandlerTest
      
      Change-Id: Ib2ed22edf47673aa43eab758aaebe69f2020c349
      5dcb907b
    • Melody Hsu's avatar
      Remove most uses of ScreenCapture#captureDisplay. · db9ea13d
      Melody Hsu authored
      Replace with methods that use ScreenCapture#captureLayers so
      ScreenCapture#captureDisplay can be removed. Usages in ColorFade
      are not removed due to b/301083608.
      
      Bug: 293445881
      Test: Rotate screen with wm.debug.shell disabled
      Test: Lock and unlock device
      Test: Take screenshots
      Test: atest AccessibilityTakeScreenshotTest
      Change-Id: I71ce63421e018342111d235521b0486ae23840e4
      db9ea13d
  15. Nov 14, 2023
    • Jean Chen's avatar
      feat(MultiFingerMultiTap):Create a new DetectingState and ViewportDraggingState for feature · cc19bc2c
      Jean Chen authored
      The new detecting state and new view port dragging state will overwrite the motion event of the current state, enabling the implementation of the two-finger triple tap feature.
      
      NO_IFTTT=copy the code and add IFTTT
      
      Bug: 297805269
      Test: manual
      Change-Id: I85c5ff7e170c8c46402b3e97c389ec1c4c48a37c
      cc19bc2c
    • Yabin Huang's avatar
      Update accessibility framework to support multi-session IME · 8ed6af3c
      Yabin Huang authored
      Change IMMI#onSessionForAccessibilityCreated() and
      IMMI#unbindAccessibilityFromCurrentClient() to take a user ID.
      
      The main motivation is to unblock our on-going project that aims to
      add concurrent multi-user support in IMMS.
      
      All the planned use cases of A11yIME remain unchanged:
      1. This CL just makes it clear that A11yIME APIs are not intended
         to be used from UiAutomator and Proxy A11yService.
      2. IMMS does not use user ID yet. A subsequent CL will introduce a
         user ID verification but our plan is to not break any existing
       use cases.
      
      This is a pure mechanical refactoring (internal IMMS refactoring),
      which won’t be under any feature flag.
      
      Bug: 305829876
      Test: atest WmTests && atest FrameworksServicesTests
      Test: atest CtsAccessibilityTestCases && atest CtsInputMethodTestCases && atest CtsAccessibilityServiceTestCases
      
      Change-Id: I835e2ab07cdcbe6367698675f87d5cda160a9b5b
      8ed6af3c
  16. Nov 13, 2023
    • Candice Lo's avatar
      refactor(magnification): Renaming WindowMagnificationConnectionWrapper class... · 7f79e398
      Candice Lo authored
      refactor(magnification): Renaming WindowMagnificationConnectionWrapper class as MagnificationConnectionWrapper
      
      The class handles not only the window mode, but also the fullscreen
      fullscreen mode. Therefore, we would like to remove "window" from the
      name to avoid the confusion.
      
      Bug: 310109308
      Test: manually
            atest MagnificationConnectionWrapperTest
            atest WindowMagnificationManagerTest
      Flag: NA
      Change-Id: Id09c8609041f34a18934ffaad758982250e1ca77
      7f79e398
  17. Nov 08, 2023
    • Jean Chen's avatar
      feat(MultiFingerMultiTap): Implement two finger triple tap feature on... · 767587b5
      Jean Chen authored
      feat(MultiFingerMultiTap): Implement two finger triple tap feature on WindowMagnificationGestureHandler
      
      Bug: 297805269
      Test: manual
      Test: adb shell device_config put accessibility com.android.server.accessibility.enable_magnification_multiple_finger_multiple_tap_gesture true
      adb shell stop && adb shell start
      atest WindowMagnificationGestureHandlerTest
      
      Change-Id: I54dc6727cd29c1d3e83be7817aae624db3994413
      767587b5
  18. Nov 01, 2023
  19. Oct 30, 2023
    • Jean Chen's avatar
      feat(MultiFingerMultiTap): Send Setting value, SingleFingerTripleTap and... · 7ba80b0a
      Jean Chen authored
      feat(MultiFingerMultiTap): Send Setting value, SingleFingerTripleTap and TwoFingerTripleTap, to MagnificationGestureHandle for enable feature
      
      Add TwoFingerTripleTap to the constructor for AccessibilityInputFilter, which will enable us to implement the feature on window magnification and fullscreen magnification.
      
      Add the feature flag check when setting the value of mDetectTwoFingerTripleTap in MagnifictionGestureHandler (not client side) to ensure that the feature is enabled and apply on window and fullscreen Mag.
      
      Bug: 297805269
      Test: manual
      Test: atest MagnificationGestureHandlerTest
      Test: atest FullScreenMagnificationGestureHandlerTest
      Test: atest WindowMagnificationGestureHandlerTest
      Change-Id: I851d1ce055a2348044cb9cf2e92942ffb9255b15
      7ba80b0a
  20. Oct 27, 2023
  21. Oct 26, 2023
    • Jean Chen's avatar
      feat(MultiFingerMultiTap): Add a feature flag and update its value from... · e5333311
      Jean Chen authored
      feat(MultiFingerMultiTap): Add a feature flag and update its value from observing the settings value for AccessibilityInputFilter
      
      Add a feature flag and update its value from observing the settings value, so that  magnification gesture handler will be update once gesture change. Then settings value ACCESSIBILITY_DISPLAY_MAGNIFICATION_ENABLED will be replaced ACCESSIBILITY_MAGNIFICATION_GESTURE once the feature completement.
      
      Bug: 297805269
      Test: manual
      Change-Id: I9e83a2bdccd1e1f73389eccb606f2dff807c6cd2
      e5333311
  22. Oct 25, 2023
    • Marvin Ramin's avatar
      Only register VirtualDeviceListener when a11y proxies are registered · f8a54938
      Marvin Ramin authored
      Immediately registering VirtualDeviceListener during the
      AccessibilityManagerService start can lead to issues as this depends on
      the timing of VirtualDeviceManagerService starting.
      
      Instead, only register VirtualDeviceListener when a a11y proxy is
      registered.
      
      Bug: 302519290
      Test: atest ProxyManagerTest AccessibilityDisplayProxyTest
      Change-Id: I80b5213107107de358adcf5d8193fa438ffe55c0
      f8a54938
  23. Oct 20, 2023
  24. Oct 19, 2023
  25. Oct 18, 2023
  26. Oct 17, 2023
  27. Oct 13, 2023
    • Ameer Armaly's avatar
      Reduce touch exploration sensitivity. · 9d250972
      Ameer Armaly authored
      This change alters touch exploration behavior by requiring that the finger move a number of pixels defined by the system's scaled touch slop value  before it sends a hover event.
      Fix: 303677860
      Test: atest CtsAccessibilityServiceTestCases:TouchExplorerTest FrameworksServicesTests:TouchExplorerTest
      
      Change-Id: Ib8dd4de60d5c71f38f8873b9c5c2af1d0c6e6010
      9d250972
    • Daniel Norman's avatar
      Parses accessibility packages without holding A11yManagerService#mLock. · 618169b9
      Daniel Norman authored
      Package resource parsing can randomly take a very long time, so we
      shouldn't hold the singular A11y mLock while doing this parsing or else
      unrelated threads will be blocked.
      
      Introduces a new flag:
      - namespace: accessibility
      - flag: com.android.server.accessibility.scan_packages_without_lock
      
      Bug: 295969873
      Test: Enable/disable the flag. Observe unchanged behavior when
            installing and uninstalling a11y packages and switching users.
      Test: atest AccessibilityManagerServiceTest
      Change-Id: I1bc05403c14bfdd8da7c6621048d93df98f1ddf5
      618169b9
  28. Oct 12, 2023
    • Jean Chen's avatar
      refactor(MultiFingerMultiTap): Rename mDetectTriple to... · 21582217
      Jean Chen authored
      refactor(MultiFingerMultiTap): Rename mDetectTriple to mDetectSingleFingerTripleTap before implement TwoFingerTripleTap
      
      1. Enhance naming accuracy to enable clear differentiation between new and existing features. Then add new boolean parameter, mDetectTwoFingerTripleTap, for feature.
      2. Remove unnecessary local variables, mDetectTripleTap,  in Detecting State and use global variables directly.
      
      Bug: 297805269
      Test: manual
      Test: atest MagnificationGestureHandlerTest
      Test: atest WindowMagnificationGestureHandlerTest
      Test: atest FullScreenMagnificationGestureHandlerTest
      Change-Id: I94eb9bc6114a7d562e9f8f8f90970fa96e24c473
      21582217
Loading