diff options
| author | 2025-01-08 19:42:45 +0800 | |
|---|---|---|
| committer | 2025-01-08 05:15:54 -0800 | |
| commit | 46b6b8a1fffd2716dfb10d9dc78fb26cdfdc6522 (patch) | |
| tree | 8b5b8ea8dce5823f6b5d8ad43846d6edacd03f8d | |
| parent | beedd416f67a1ddfc84901176c8e654900d2f2e3 (diff) | |
Fix AccessibilityManagerServiceTest exceeded the number of permissible registered listeners
Root Cause: Test will construct AccessibilityManagerService each time, and it will register listeners without unregister it.
Solution: We don't need to test register listeners logic inside AccessibilityManagerService, so pass the mock object inside constructor.
Bug: 388436864
Test: atest AccessibilityManagerServiceTest
Flag: EXEMPT bugfix
Change-Id: I8c96323438d4708afe5f99daee0f2498c8c2b2ea
2 files changed, 8 insertions, 4 deletions
diff --git a/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java b/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java index 6cd1f721d215..8e037c3ba90c 100644 --- a/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java +++ b/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java @@ -542,7 +542,8 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub MagnificationController magnificationController, @Nullable AccessibilityInputFilter inputFilter, ProxyManager proxyManager, - PermissionEnforcer permissionEnforcer) { + PermissionEnforcer permissionEnforcer, + HearingDevicePhoneCallNotificationController hearingDeviceNotificationController) { super(permissionEnforcer); mContext = context; mPowerManager = (PowerManager) mContext.getSystemService(Context.POWER_SERVICE); @@ -571,8 +572,7 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub mVisibleBgUserIds = null; mInputManager = context.getSystemService(InputManager.class); if (com.android.settingslib.flags.Flags.hearingDevicesInputRoutingControl()) { - mHearingDeviceNotificationController = new HearingDevicePhoneCallNotificationController( - context); + mHearingDeviceNotificationController = hearingDeviceNotificationController; } else { mHearingDeviceNotificationController = null; } diff --git a/services/tests/servicestests/src/com/android/server/accessibility/AccessibilityManagerServiceTest.java b/services/tests/servicestests/src/com/android/server/accessibility/AccessibilityManagerServiceTest.java index fa78dfce0a17..dafe4827b2fe 100644 --- a/services/tests/servicestests/src/com/android/server/accessibility/AccessibilityManagerServiceTest.java +++ b/services/tests/servicestests/src/com/android/server/accessibility/AccessibilityManagerServiceTest.java @@ -220,6 +220,9 @@ public class AccessibilityManagerServiceTest { @Mock private ProxyManager mProxyManager; @Mock private StatusBarManagerInternal mStatusBarManagerInternal; @Mock private DevicePolicyManager mDevicePolicyManager; + @Mock + private HearingDevicePhoneCallNotificationController + mMockHearingDevicePhoneCallNotificationController; @Spy private IUserInitializationCompleteCallback mUserInitializationCompleteCallback; @Captor private ArgumentCaptor<Intent> mIntentArgumentCaptor; private IAccessibilityManager mA11yManagerServiceOnDevice; @@ -289,7 +292,8 @@ public class AccessibilityManagerServiceTest { mMockMagnificationController, mInputFilter, mProxyManager, - mFakePermissionEnforcer); + mFakePermissionEnforcer, + mMockHearingDevicePhoneCallNotificationController); mA11yms.switchUser(mTestableContext.getUserId()); mTestableLooper.processAllMessages(); |