/* * Copyright (C) 2012 Google Inc. * * 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 com.googlecode.eyesfree.braille.display; import android.os.Parcel; import android.os.Parcelable; /** * Represents a binding between a combination of braille device keys and a * command as declared in {@link BrailleInputEvent}. */ public class BrailleKeyBinding implements Parcelable { private int mCommand; private String[] mKeyNames; public BrailleKeyBinding() { } public BrailleKeyBinding(int command, String[] keyNames) { mCommand = command; mKeyNames = keyNames; } /** * Sets the command for this binding. */ public BrailleKeyBinding setCommand(int command) { mCommand = command; return this; } /** * Sets the key names for this binding. */ public BrailleKeyBinding setKeyNames(String[] keyNames) { mKeyNames = keyNames; return this; } /** * Returns the command for this key binding. * @see {@link BrailleInputEvent}. */ public int getCommand() { return mCommand; } /** * Returns the list of device-specific keys that, when pressed * at the same time, will yield the command of this key binding. */ public String[] getKeyNames() { return mKeyNames; } // For Parcelable support. public static final Parcelable.Creator CREATOR = new Parcelable.Creator() { @Override public BrailleKeyBinding createFromParcel(Parcel in) { return new BrailleKeyBinding(in); } @Override public BrailleKeyBinding[] newArray(int size) { return new BrailleKeyBinding[size]; } }; @Override public int describeContents() { return 0; } @Override public void writeToParcel(Parcel out, int flags) { out.writeInt(mCommand); out.writeStringArray(mKeyNames); } private BrailleKeyBinding(Parcel in) { mCommand = in.readInt(); mKeyNames = in.createStringArray(); } }