use of android.view.accessibility.AccessibilityManager in project android_frameworks_base by ParanoidAndroid.
the class NotificationManagerService method sendAccessibilityEvent.
private void sendAccessibilityEvent(Notification notification, CharSequence packageName) {
AccessibilityManager manager = AccessibilityManager.getInstance(mContext);
if (!manager.isEnabled()) {
return;
}
AccessibilityEvent event = AccessibilityEvent.obtain(AccessibilityEvent.TYPE_NOTIFICATION_STATE_CHANGED);
event.setPackageName(packageName);
event.setClassName(Notification.class.getName());
event.setParcelableData(notification);
CharSequence tickerText = notification.tickerText;
if (!TextUtils.isEmpty(tickerText)) {
event.getText().add(tickerText);
}
manager.sendAccessibilityEvent(event);
}
use of android.view.accessibility.AccessibilityManager in project android_frameworks_base by ParanoidAndroid.
the class AccessibilityManagerTest method testSendAccessibilityEvent_AccessibilityDisabled.
@MediumTest
public void testSendAccessibilityEvent_AccessibilityDisabled() throws Exception {
// create an event to be dispatched
AccessibilityEvent sentEvent = AccessibilityEvent.obtain();
// configure the mock service behavior
IAccessibilityManager mockServiceInterface = mMockServiceInterface;
expect(mockServiceInterface.addClient(anyIAccessibilityManagerClient(), UserHandle.USER_OWNER)).andReturn(0);
replay(mockServiceInterface);
// invoke the method under test (accessibility disabled)
AccessibilityManager manager = new AccessibilityManager(mContext, mockServiceInterface, UserHandle.USER_OWNER);
try {
manager.sendAccessibilityEvent(sentEvent);
fail("No accessibility events are sent if accessibility is disabled");
} catch (IllegalStateException ise) {
// check expected result
assertEquals("Accessibility off. Did you forget to check that?", ise.getMessage());
}
// verify the mock service was properly called
verify(mockServiceInterface);
}
use of android.view.accessibility.AccessibilityManager in project android_frameworks_base by ParanoidAndroid.
the class AccessibilityManagerTest method testInterrupt.
@MediumTest
public void testInterrupt() throws Exception {
// configure the mock service behavior
IAccessibilityManager mockServiceInterface = mMockServiceInterface;
expect(mockServiceInterface.addClient(anyIAccessibilityManagerClient(), UserHandle.USER_OWNER)).andReturn(AccessibilityManager.STATE_FLAG_ACCESSIBILITY_ENABLED);
mockServiceInterface.interrupt(UserHandle.USER_OWNER);
replay(mockServiceInterface);
// invoke the method under test
AccessibilityManager manager = new AccessibilityManager(mContext, mockServiceInterface, UserHandle.USER_OWNER);
manager.interrupt();
// verify the mock service was properly called
verify(mockServiceInterface);
}
use of android.view.accessibility.AccessibilityManager in project android_frameworks_base by ParanoidAndroid.
the class AccessibilityManagerTest method testSendAccessibilityEvent_AccessibilityEnabled.
@MediumTest
public void testSendAccessibilityEvent_AccessibilityEnabled() throws Exception {
// create an event to be dispatched
AccessibilityEvent sentEvent = AccessibilityEvent.obtain();
// configure the mock service behavior
IAccessibilityManager mockServiceInterface = mMockServiceInterface;
expect(mockServiceInterface.addClient(anyIAccessibilityManagerClient(), UserHandle.USER_OWNER)).andReturn(AccessibilityManager.STATE_FLAG_ACCESSIBILITY_ENABLED);
expect(mockServiceInterface.sendAccessibilityEvent(eqAccessibilityEvent(sentEvent), UserHandle.USER_OWNER)).andReturn(true);
expect(mockServiceInterface.sendAccessibilityEvent(eqAccessibilityEvent(sentEvent), UserHandle.USER_OWNER)).andReturn(false);
replay(mockServiceInterface);
// invoke the method under test (manager and service in different processes)
AccessibilityManager manager = new AccessibilityManager(mContext, mockServiceInterface, UserHandle.USER_OWNER);
manager.sendAccessibilityEvent(sentEvent);
// check expected result
AccessibilityEvent nextEventDifferentProcesses = AccessibilityEvent.obtain();
assertSame("The manager and the service are in different processes, so the event must be " + "recycled", sentEvent, nextEventDifferentProcesses);
// invoke the method under test (manager and service in the same process)
manager.sendAccessibilityEvent(sentEvent);
// check expected result
AccessibilityEvent nextEventSameProcess = AccessibilityEvent.obtain();
assertNotSame("The manager and the service are in the same process, so the event must not" + "be recycled", sentEvent, nextEventSameProcess);
// verify the mock service was properly called
verify(mockServiceInterface);
}
use of android.view.accessibility.AccessibilityManager in project android_frameworks_base by ParanoidAndroid.
the class TwoStatePreference method sendAccessibilityEvent.
void sendAccessibilityEvent(View view) {
// Since the view is still not attached we create, populate,
// and send the event directly since we do not know when it
// will be attached and posting commands is not as clean.
AccessibilityManager accessibilityManager = AccessibilityManager.getInstance(getContext());
if (mSendClickAccessibilityEvent && accessibilityManager.isEnabled()) {
AccessibilityEvent event = AccessibilityEvent.obtain();
event.setEventType(AccessibilityEvent.TYPE_VIEW_CLICKED);
view.onInitializeAccessibilityEvent(event);
view.dispatchPopulateAccessibilityEvent(event);
accessibilityManager.sendAccessibilityEvent(event);
}
mSendClickAccessibilityEvent = false;
}
Aggregations