2323
2424package com .github .uiautomator .stub ;
2525
26- import android .accessibilityservice .AccessibilityServiceInfo ;
2726import android .app .Instrumentation ;
2827import android .app .UiAutomation ;
2928import android .content .ClipData ;
3938import android .view .KeyEvent ;
4039import android .view .MotionEvent ;
4140
42- import androidx .core .accessibilityservice .AccessibilityServiceInfoCompat ;
4341import androidx .test .platform .app .InstrumentationRegistry ;
4442import androidx .test .uiautomator .Configurator ;
4543import androidx .test .uiautomator .Direction ;
@@ -85,17 +83,23 @@ public class AutomatorServiceImpl implements AutomatorService {
8583 ClipboardManager clipboard ;
8684
8785 public AutomatorServiceImpl () {
88- mInstrumentation = InstrumentationRegistry .getInstrumentation ();
89- uiAutomation = mInstrumentation .getUiAutomation ();
90-
86+ // Reset Configurator Wait Timeout
87+ Configurator configurator = Configurator .getInstance ();
88+ configurator .setWaitForSelectorTimeout (0L ); // Default 10000
89+ configurator .setWaitForIdleTimeout (0L ); // Default 10000
90+ configurator .setActionAcknowledgmentTimeout (500 ); // Default 3000
91+ configurator .setScrollAcknowledgmentTimeout (200 ); // Default 200
92+ configurator .setKeyInjectionDelay (0 ); // Default 0
9193 // https://developer.android.com/reference/androidx/core/accessibilityservice/AccessibilityServiceInfoCompat#FLAG_REQUEST_ENHANCED_WEB_ACCESSIBILITY()
9294 // https://www.jianshu.com/p/a8ccd607e172
9395 // https://developer.android.com/reference/android/app/UiAutomation
96+ // The problem is after set flags |= 8, the service always crash.
97+ // configurator.setUiAutomationFlags(configurator.getUiAutomationFlags() | AccessibilityServiceInfoCompat.FLAG_REQUEST_ENHANCED_WEB_ACCESSIBILITY);
98+
99+ mInstrumentation = InstrumentationRegistry .getInstrumentation ();
100+ uiAutomation = mInstrumentation .getUiAutomation ();
94101
95- AccessibilityServiceInfo info = uiAutomation .getServiceInfo ();
96- // improve accessibility support for "android.webkit.WebView" q
97- info .flags |= AccessibilityServiceInfoCompat .FLAG_REQUEST_ENHANCED_WEB_ACCESSIBILITY ;
98- uiAutomation .setServiceInfo (info );
102+ //uiAutomation.setOnAccessibilityEventListener(new AccessibilityEventListener(device, watchers));
99103
100104 device = UiDevice .getInstance (mInstrumentation );
101105 touchController = new TouchController (mInstrumentation );
@@ -113,16 +117,6 @@ public void onLoadComplete(SoundPool soundPool, int sampleId, int status) {
113117 soundPool .play (sampleId , 1 , 1 , 1 , 0 , 1 );
114118 }
115119 });
116-
117- // Reset Configurator Wait Timeout
118- Configurator configurator = Configurator .getInstance ();
119- configurator .setWaitForSelectorTimeout (0L ); // Default 10000
120- configurator .setWaitForIdleTimeout (0L ); // Default 10000
121- configurator .setActionAcknowledgmentTimeout (500 ); // Default 3000
122- configurator .setScrollAcknowledgmentTimeout (200 ); // Default 200
123- configurator .setKeyInjectionDelay (0 ); // Default 0
124-
125- //uiAutomation.setOnAccessibilityEventListener(new AccessibilityEventListener(device, watchers));
126120 }
127121
128122 private UiAutomation getUiAutomation () {
0 commit comments