Search in sources :

Example 51 with SomeArgs

use of com.android.internal.os.SomeArgs in project android_frameworks_base by DirtyUnicorns.

the class AccessibilityInteractionController method focusSearchUiThread.

private void focusSearchUiThread(Message message) {
    final int flags = message.arg1;
    final int accessibilityViewId = message.arg2;
    SomeArgs args = (SomeArgs) message.obj;
    final int direction = args.argi2;
    final int interactionId = args.argi3;
    final IAccessibilityInteractionConnectionCallback callback = (IAccessibilityInteractionConnectionCallback) args.arg1;
    final MagnificationSpec spec = (MagnificationSpec) args.arg2;
    final Region interactiveRegion = (Region) args.arg3;
    args.recycle();
    AccessibilityNodeInfo next = null;
    try {
        if (mViewRootImpl.mView == null || mViewRootImpl.mAttachInfo == null) {
            return;
        }
        mViewRootImpl.mAttachInfo.mAccessibilityFetchFlags = flags;
        View root = null;
        if (accessibilityViewId != AccessibilityNodeInfo.UNDEFINED_ITEM_ID) {
            root = findViewByAccessibilityId(accessibilityViewId);
        } else {
            root = mViewRootImpl.mView;
        }
        if (root != null && isShown(root)) {
            View nextView = root.focusSearch(direction);
            if (nextView != null) {
                next = nextView.createAccessibilityNodeInfo();
            }
        }
    } finally {
        try {
            mViewRootImpl.mAttachInfo.mAccessibilityFetchFlags = 0;
            applyAppScaleAndMagnificationSpecIfNeeded(next, spec);
            // system process and obtained from a pool when read from parcel.
            if (spec != null && android.os.Process.myPid() != Binder.getCallingPid()) {
                spec.recycle();
            }
            adjustIsVisibleToUserIfNeeded(next, interactiveRegion);
            callback.setFindAccessibilityNodeInfoResult(next, interactionId);
        } catch (RemoteException re) {
        /* ignore - the other side will time out */
        }
        // the system process and instantiated  when read from parcel.
        if (interactiveRegion != null && android.os.Process.myPid() == Binder.getCallingPid()) {
            interactiveRegion.recycle();
        }
    }
}
Also used : IAccessibilityInteractionConnectionCallback(android.view.accessibility.IAccessibilityInteractionConnectionCallback) SomeArgs(com.android.internal.os.SomeArgs) AccessibilityNodeInfo(android.view.accessibility.AccessibilityNodeInfo) Region(android.graphics.Region) RemoteException(android.os.RemoteException) Point(android.graphics.Point)

Example 52 with SomeArgs

use of com.android.internal.os.SomeArgs in project android_frameworks_base by DirtyUnicorns.

the class AccessibilityInteractionController method findAccessibilityNodeInfoByAccessibilityIdClientThread.

public void findAccessibilityNodeInfoByAccessibilityIdClientThread(long accessibilityNodeId, Region interactiveRegion, int interactionId, IAccessibilityInteractionConnectionCallback callback, int flags, int interrogatingPid, long interrogatingTid, MagnificationSpec spec) {
    Message message = mHandler.obtainMessage();
    message.what = PrivateHandler.MSG_FIND_ACCESSIBILITY_NODE_INFO_BY_ACCESSIBILITY_ID;
    message.arg1 = flags;
    SomeArgs args = SomeArgs.obtain();
    args.argi1 = AccessibilityNodeInfo.getAccessibilityViewId(accessibilityNodeId);
    args.argi2 = AccessibilityNodeInfo.getVirtualDescendantId(accessibilityNodeId);
    args.argi3 = interactionId;
    args.arg1 = callback;
    args.arg2 = spec;
    args.arg3 = interactiveRegion;
    message.obj = args;
    // client can handle the message to generate the result.
    if (interrogatingPid == mMyProcessId && interrogatingTid == mMyLooperThreadId) {
        AccessibilityInteractionClient.getInstanceForThread(interrogatingTid).setSameThreadMessage(message);
    } else {
        mHandler.sendMessage(message);
    }
}
Also used : Message(android.os.Message) SomeArgs(com.android.internal.os.SomeArgs)

Example 53 with SomeArgs

use of com.android.internal.os.SomeArgs in project android_frameworks_base by ParanoidAndroid.

the class AccessibilityInteractionController method focusSearchClientThread.

public void focusSearchClientThread(long accessibilityNodeId, int direction, int interactionId, IAccessibilityInteractionConnectionCallback callback, int flags, int interogatingPid, long interrogatingTid, MagnificationSpec spec) {
    Message message = mHandler.obtainMessage();
    message.what = PrivateHandler.MSG_FOCUS_SEARCH;
    message.arg1 = flags;
    message.arg2 = AccessibilityNodeInfo.getAccessibilityViewId(accessibilityNodeId);
    SomeArgs args = SomeArgs.obtain();
    args.argi2 = direction;
    args.argi3 = interactionId;
    args.arg1 = callback;
    args.arg2 = spec;
    message.obj = args;
    // client can handle the message to generate the result.
    if (interogatingPid == mMyProcessId && interrogatingTid == mMyLooperThreadId) {
        AccessibilityInteractionClient.getInstanceForThread(interrogatingTid).setSameThreadMessage(message);
    } else {
        mHandler.sendMessage(message);
    }
}
Also used : Message(android.os.Message) SomeArgs(com.android.internal.os.SomeArgs)

Example 54 with SomeArgs

use of com.android.internal.os.SomeArgs in project android_frameworks_base by AOSPA.

the class PrintPreviewController method onContentUpdated.

public void onContentUpdated(boolean documentChanged, int documentPageCount, PageRange[] writtenPages, PageRange[] selectedPages, MediaSize mediaSize, Margins minMargins) {
    boolean contentChanged = false;
    if (documentChanged) {
        contentChanged = true;
    }
    if (documentPageCount != mDocumentPageCount) {
        mDocumentPageCount = documentPageCount;
        contentChanged = true;
    }
    if (contentChanged) {
        // If not closed, close as we start over.
        if (mPageAdapter.isOpened()) {
            Message operation = mHandler.obtainMessage(MyHandler.MSG_CLOSE);
            mHandler.enqueueOperation(operation);
        }
    }
    // all rendered pages and reopen the file...
    if ((contentChanged || !mPageAdapter.isOpened()) && writtenPages != null) {
        Message operation = mHandler.obtainMessage(MyHandler.MSG_OPEN);
        mHandler.enqueueOperation(operation);
    }
    // Update the attributes before after closed to avoid flicker.
    SomeArgs args = SomeArgs.obtain();
    args.arg1 = writtenPages;
    args.arg2 = selectedPages;
    args.arg3 = mediaSize;
    args.arg4 = minMargins;
    args.argi1 = documentPageCount;
    Message operation = mHandler.obtainMessage(MyHandler.MSG_UPDATE, args);
    mHandler.enqueueOperation(operation);
    // If document changed and has pages we want to start preloading.
    if (contentChanged && writtenPages != null) {
        operation = mHandler.obtainMessage(MyHandler.MSG_START_PRELOAD);
        mHandler.enqueueOperation(operation);
    }
}
Also used : Message(android.os.Message) SomeArgs(com.android.internal.os.SomeArgs)

Example 55 with SomeArgs

use of com.android.internal.os.SomeArgs in project android_frameworks_base by AOSPA.

the class CommandQueue method setSystemUiVisibility.

public void setSystemUiVisibility(int vis, int fullscreenStackVis, int dockedStackVis, int mask, Rect fullscreenStackBounds, Rect dockedStackBounds) {
    synchronized (mLock) {
        // Don't coalesce these, since it might have one time flags set such as
        // STATUS_BAR_UNHIDE which might get lost.
        SomeArgs args = SomeArgs.obtain();
        args.argi1 = vis;
        args.argi2 = fullscreenStackVis;
        args.argi3 = dockedStackVis;
        args.argi4 = mask;
        args.arg1 = fullscreenStackBounds;
        args.arg2 = dockedStackBounds;
        mHandler.obtainMessage(MSG_SET_SYSTEMUI_VISIBILITY, args).sendToTarget();
    }
}
Also used : SomeArgs(com.android.internal.os.SomeArgs)

Aggregations

SomeArgs (com.android.internal.os.SomeArgs)187 Message (android.os.Message)67 Point (android.graphics.Point)46 RemoteException (android.os.RemoteException)42 IAccessibilityInteractionConnectionCallback (android.view.accessibility.IAccessibilityInteractionConnectionCallback)36 AccessibilityNodeInfo (android.view.accessibility.AccessibilityNodeInfo)30 Region (android.graphics.Region)25 AccessibilityNodeProvider (android.view.accessibility.AccessibilityNodeProvider)18 IInputMethod (com.android.internal.view.IInputMethod)12 InputChannel (android.view.InputChannel)11 EditorInfo (android.view.inputmethod.EditorInfo)11 IInputContext (com.android.internal.view.IInputContext)11 Rect (android.graphics.Rect)7 Configuration (android.content.res.Configuration)6 Bundle (android.os.Bundle)6 IBinder (android.os.IBinder)6 InputBinding (android.view.inputmethod.InputBinding)6 InputConnection (android.view.inputmethod.InputConnection)6 InputMethod (android.view.inputmethod.InputMethod)6 IInputMethodClient (com.android.internal.view.IInputMethodClient)6