1 /* 2 * Copyright (C) 2007-2008 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 * use this file except in compliance with the License. You may obtain a copy of 6 * the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 * License for the specific language governing permissions and limitations under 14 * the License. 15 */ 16 17 package com.android.internal.view; 18 19 import android.os.Parcel; 20 import android.os.Parcelable; 21 22 /** 23 * Bundle of information returned by input method manager about a successful 24 * binding to an input method. 25 */ 26 public final class InputBindResult implements Parcelable { 27 static final String TAG = "InputBindResult"; 28 29 /** 30 * The input method service. 31 */ 32 public final IInputMethodSession method; 33 34 /** 35 * The ID for this input method, as found in InputMethodInfo; null if 36 * no input method will be bound. 37 */ 38 public final String id; 39 40 /** 41 * Sequence number of this binding. 42 */ 43 public final int sequence; 44 45 public InputBindResult(IInputMethodSession _method, String _id, int _sequence) { 46 method = _method; 47 id = _id; 48 sequence = _sequence; 49 } 50 51 InputBindResult(Parcel source) { 52 method = IInputMethodSession.Stub.asInterface(source.readStrongBinder()); 53 id = source.readString(); 54 sequence = source.readInt(); 55 } 56 57 @Override 58 public String toString() { 59 return "InputBindResult{" + method + " " + id 60 + " #" + sequence + "}"; 61 } 62 63 /** 64 * Used to package this object into a {@link Parcel}. 65 * 66 * @param dest The {@link Parcel} to be written. 67 * @param flags The flags used for parceling. 68 */ 69 public void writeToParcel(Parcel dest, int flags) { 70 dest.writeStrongInterface(method); 71 dest.writeString(id); 72 dest.writeInt(sequence); 73 } 74 75 /** 76 * Used to make this class parcelable. 77 */ 78 public static final Parcelable.Creator<InputBindResult> CREATOR = new Parcelable.Creator<InputBindResult>() { 79 public InputBindResult createFromParcel(Parcel source) { 80 return new InputBindResult(source); 81 } 82 83 public InputBindResult[] newArray(int size) { 84 return new InputBindResult[size]; 85 } 86 }; 87 88 public int describeContents() { 89 return 0; 90 } 91 } 92