Bug 699243 - Add method to GeckoAppShell to emit a11y events and bridge it [r=blassey]

This commit is contained in:
Eitan Isaacson
2011-11-04 09:56:24 -04:00
parent 40e9fbd2b2
commit 0ccdfc74c5
3 changed files with 31 additions and 0 deletions

View File

@@ -64,6 +64,7 @@ import android.media.MediaScannerConnection;
import android.media.MediaScannerConnection.MediaScannerConnectionClient;
import android.provider.Settings;
import android.view.accessibility.AccessibilityManager;
import android.view.accessibility.AccessibilityEvent;
import android.util.*;
import android.net.Uri;
@@ -1658,4 +1659,23 @@ public class GeckoAppShell
}
});
}
public static void emitGeckoAccessibilityEvent (int eventType, String role, String text, String description, boolean enabled, boolean checked, boolean password) {
AccessibilityManager accessibilityManager =
(AccessibilityManager) GeckoApp.mAppContext.getSystemService(Context.ACCESSIBILITY_SERVICE);
if (!accessibilityManager.isEnabled())
return;
AccessibilityEvent event = AccessibilityEvent.obtain(eventType);
event.setClassName(GeckoApp.surfaceView.getClass().getName() + "$" + role);
event.setPackageName(GeckoApp.mAppContext.getPackageName());
event.setEnabled(enabled);
event.setChecked(checked);
event.setPassword(password);
event.setContentDescription(description);
event.getText().add(text);
accessibilityManager.sendAccessibilityEvent(event);
}
}