/*
 * Copyright (C) 2007-2008 The Android Open Source Project
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
 * use this file except in compliance with the License. You may obtain a copy of
 * the License at
 * 
 * http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and limitations under
 * the License.
 */

package android.view.inputmethod;

import android.os.IBinder;
import android.os.Parcel;
import android.os.Parcelable;

Information given to an InputMethod about a client connecting to it.
/** * Information given to an {@link InputMethod} about a client connecting * to it. */
public final class InputBinding implements Parcelable { static final String TAG = "InputBinding";
The connection back to the client.
/** * The connection back to the client. */
final InputConnection mConnection;
A remotable token for the connection back to the client.
/** * A remotable token for the connection back to the client. */
final IBinder mConnectionToken;
The UID where this binding came from.
/** * The UID where this binding came from. */
final int mUid;
The PID where this binding came from.
/** * The PID where this binding came from. */
final int mPid;
Constructor.
Params:
  • conn – The interface for communicating back with the application.
  • connToken – A remoteable token for communicating across processes.
  • uid – The user id of the client of this binding.
  • pid – The process id of where the binding came from.
/** * Constructor. * * @param conn The interface for communicating back with the application. * @param connToken A remoteable token for communicating across processes. * @param uid The user id of the client of this binding. * @param pid The process id of where the binding came from. */
public InputBinding(InputConnection conn, IBinder connToken, int uid, int pid) { mConnection = conn; mConnectionToken = connToken; mUid = uid; mPid = pid; }
Constructor from an existing InputBinding taking a new local input connection interface.
Params:
  • conn – The new connection interface.
  • binding – Existing binding to copy.
/** * Constructor from an existing InputBinding taking a new local input * connection interface. * * @param conn The new connection interface. * @param binding Existing binding to copy. */
public InputBinding(InputConnection conn, InputBinding binding) { mConnection = conn; mConnectionToken = binding.getConnectionToken(); mUid = binding.getUid(); mPid = binding.getPid(); } InputBinding(Parcel source) { mConnection = null; mConnectionToken = source.readStrongBinder(); mUid = source.readInt(); mPid = source.readInt(); }
Return the connection for interacting back with the application.
/** * Return the connection for interacting back with the application. */
public InputConnection getConnection() { return mConnection; }
Return the token for the connection back to the application. You can not use this directly, it must be converted to a InputConnection for you.
/** * Return the token for the connection back to the application. You can * not use this directly, it must be converted to a {@link InputConnection} * for you. */
public IBinder getConnectionToken() { return mConnectionToken; }
Return the user id of the client associated with this binding.
/** * Return the user id of the client associated with this binding. */
public int getUid() { return mUid; }
Return the process id where this binding came from.
/** * Return the process id where this binding came from. */
public int getPid() { return mPid; } @Override public String toString() { return "InputBinding{" + mConnectionToken + " / uid " + mUid + " / pid " + mPid + "}"; }
Used to package this object into a Parcel.
Params:
  • dest – The Parcel to be written.
  • flags – The flags used for parceling.
/** * Used to package this object into a {@link Parcel}. * * @param dest The {@link Parcel} to be written. * @param flags The flags used for parceling. */
public void writeToParcel(Parcel dest, int flags) { dest.writeStrongBinder(mConnectionToken); dest.writeInt(mUid); dest.writeInt(mPid); }
Used to make this class parcelable.
/** * Used to make this class parcelable. */
public static final Parcelable.Creator<InputBinding> CREATOR = new Parcelable.Creator<InputBinding>() { public InputBinding createFromParcel(Parcel source) { return new InputBinding(source); } public InputBinding[] newArray(int size) { return new InputBinding[size]; } }; public int describeContents() { return 0; } }