diff options
Diffstat (limited to 'display/BrailleKeyBinding.java')
-rw-r--r-- | display/BrailleKeyBinding.java | 100 |
1 files changed, 100 insertions, 0 deletions
diff --git a/display/BrailleKeyBinding.java b/display/BrailleKeyBinding.java new file mode 100644 index 0000000..92b58d0 --- /dev/null +++ b/display/BrailleKeyBinding.java @@ -0,0 +1,100 @@ +/* + * 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<BrailleKeyBinding> CREATOR = + new Parcelable.Creator<BrailleKeyBinding>() { + @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(); + } +} |