Search in sources :

Example 31 with SomeArgs

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

the class TvInputService method onBind.

@Override
public final IBinder onBind(Intent intent) {
    return new ITvInputService.Stub() {

        @Override
        public void registerCallback(ITvInputServiceCallback cb) {
            if (cb != null) {
                mCallbacks.register(cb);
            }
        }

        @Override
        public void unregisterCallback(ITvInputServiceCallback cb) {
            if (cb != null) {
                mCallbacks.unregister(cb);
            }
        }

        @Override
        public void createSession(InputChannel channel, ITvInputSessionCallback cb, String inputId) {
            if (channel == null) {
                Log.w(TAG, "Creating session without input channel");
            }
            if (cb == null) {
                return;
            }
            SomeArgs args = SomeArgs.obtain();
            args.arg1 = channel;
            args.arg2 = cb;
            args.arg3 = inputId;
            mServiceHandler.obtainMessage(ServiceHandler.DO_CREATE_SESSION, args).sendToTarget();
        }

        @Override
        public void createRecordingSession(ITvInputSessionCallback cb, String inputId) {
            if (cb == null) {
                return;
            }
            SomeArgs args = SomeArgs.obtain();
            args.arg1 = cb;
            args.arg2 = inputId;
            mServiceHandler.obtainMessage(ServiceHandler.DO_CREATE_RECORDING_SESSION, args).sendToTarget();
        }

        @Override
        public void notifyHardwareAdded(TvInputHardwareInfo hardwareInfo) {
            mServiceHandler.obtainMessage(ServiceHandler.DO_ADD_HARDWARE_INPUT, hardwareInfo).sendToTarget();
        }

        @Override
        public void notifyHardwareRemoved(TvInputHardwareInfo hardwareInfo) {
            mServiceHandler.obtainMessage(ServiceHandler.DO_REMOVE_HARDWARE_INPUT, hardwareInfo).sendToTarget();
        }

        @Override
        public void notifyHdmiDeviceAdded(HdmiDeviceInfo deviceInfo) {
            mServiceHandler.obtainMessage(ServiceHandler.DO_ADD_HDMI_INPUT, deviceInfo).sendToTarget();
        }

        @Override
        public void notifyHdmiDeviceRemoved(HdmiDeviceInfo deviceInfo) {
            mServiceHandler.obtainMessage(ServiceHandler.DO_REMOVE_HDMI_INPUT, deviceInfo).sendToTarget();
        }
    };
}
Also used : HdmiDeviceInfo(android.hardware.hdmi.HdmiDeviceInfo) SomeArgs(com.android.internal.os.SomeArgs) InputChannel(android.view.InputChannel)

Example 32 with SomeArgs

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

the class AccessibilityInteractionController method findFocusClientThread.

public void findFocusClientThread(long accessibilityNodeId, int focusType, Region interactiveRegion, int interactionId, IAccessibilityInteractionConnectionCallback callback, int flags, int interogatingPid, long interrogatingTid, MagnificationSpec spec) {
    Message message = mHandler.obtainMessage();
    message.what = PrivateHandler.MSG_FIND_FOCUS;
    message.arg1 = flags;
    message.arg2 = focusType;
    SomeArgs args = SomeArgs.obtain();
    args.argi1 = interactionId;
    args.argi2 = AccessibilityNodeInfo.getAccessibilityViewId(accessibilityNodeId);
    args.argi3 = AccessibilityNodeInfo.getVirtualDescendantId(accessibilityNodeId);
    args.arg1 = callback;
    args.arg2 = spec;
    args.arg3 = interactiveRegion;
    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 33 with SomeArgs

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

the class InputManagerService method setKeyboardLayoutForInputDeviceInner.

private void setKeyboardLayoutForInputDeviceInner(InputDeviceIdentifier identifier, InputMethodSubtypeHandle imeHandle, String keyboardLayoutDescriptor) {
    String key = getLayoutDescriptor(identifier);
    synchronized (mDataStore) {
        try {
            if (mDataStore.setKeyboardLayout(key, imeHandle, keyboardLayoutDescriptor)) {
                if (DEBUG) {
                    Slog.d(TAG, "Set keyboard layout " + keyboardLayoutDescriptor + " for subtype " + imeHandle + " and device " + identifier + " using key " + key);
                }
                if (imeHandle.equals(mCurrentImeHandle)) {
                    if (DEBUG) {
                        Slog.d(TAG, "Layout for current subtype changed, switching layout");
                    }
                    SomeArgs args = SomeArgs.obtain();
                    args.arg1 = identifier;
                    args.arg2 = imeHandle;
                    mHandler.obtainMessage(MSG_SWITCH_KEYBOARD_LAYOUT, args).sendToTarget();
                }
                mHandler.sendEmptyMessage(MSG_RELOAD_KEYBOARD_LAYOUTS);
            }
        } finally {
            mDataStore.saveIfNeeded();
        }
    }
}
Also used : SomeArgs(com.android.internal.os.SomeArgs)

Example 34 with SomeArgs

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

the class InputManagerService method notifySwitch.

// Native callback.
private void notifySwitch(long whenNanos, int switchValues, int switchMask) {
    if (DEBUG) {
        Slog.d(TAG, "notifySwitch: values=" + Integer.toHexString(switchValues) + ", mask=" + Integer.toHexString(switchMask));
    }
    if ((switchMask & SW_LID_BIT) != 0) {
        final boolean lidOpen = ((switchValues & SW_LID_BIT) == 0);
        mWindowManagerCallbacks.notifyLidSwitchChanged(whenNanos, lidOpen);
    }
    if ((switchMask & SW_CAMERA_LENS_COVER_BIT) != 0) {
        final boolean lensCovered = ((switchValues & SW_CAMERA_LENS_COVER_BIT) != 0);
        mWindowManagerCallbacks.notifyCameraLensCoverSwitchChanged(whenNanos, lensCovered);
    }
    if (mUseDevInputEventForAudioJack && (switchMask & SW_JACK_BITS) != 0) {
        mWiredAccessoryCallbacks.notifyWiredAccessoryChanged(whenNanos, switchValues, switchMask);
    }
    if ((switchMask & SW_TABLET_MODE_BIT) != 0) {
        SomeArgs args = SomeArgs.obtain();
        args.argi1 = (int) (whenNanos & 0xFFFFFFFF);
        args.argi2 = (int) (whenNanos >> 32);
        args.arg1 = Boolean.valueOf((switchValues & SW_TABLET_MODE_BIT) != 0);
        mHandler.obtainMessage(MSG_DELIVER_TABLET_MODE_CHANGED, args).sendToTarget();
    }
}
Also used : SomeArgs(com.android.internal.os.SomeArgs)

Example 35 with SomeArgs

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

the class TvInputManagerService method removeSessionStateLocked.

private void removeSessionStateLocked(IBinder sessionToken, int userId) {
    UserState userState = getOrCreateUserStateLocked(userId);
    if (sessionToken == userState.mainSessionToken) {
        if (DEBUG) {
            Slog.d(TAG, "mainSessionToken=null");
        }
        userState.mainSessionToken = null;
    }
    // Remove the session state from the global session state map of the current user.
    SessionState sessionState = userState.sessionStateMap.remove(sessionToken);
    if (sessionState == null) {
        return;
    }
    // Also remove the session token from the session token list of the current client and
    // service.
    ClientState clientState = userState.clientStateMap.get(sessionState.client.asBinder());
    if (clientState != null) {
        clientState.sessionTokens.remove(sessionToken);
        if (clientState.isEmpty()) {
            userState.clientStateMap.remove(sessionState.client.asBinder());
        }
    }
    ServiceState serviceState = userState.serviceStateMap.get(sessionState.componentName);
    if (serviceState != null) {
        serviceState.sessionTokens.remove(sessionToken);
    }
    updateServiceConnectionLocked(sessionState.componentName, userId);
    // Log the end of watch.
    SomeArgs args = SomeArgs.obtain();
    args.arg1 = sessionToken;
    args.arg2 = System.currentTimeMillis();
    mWatchLogHandler.obtainMessage(WatchLogHandler.MSG_LOG_WATCH_END, 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