diff options
author | plundblad@google.com <plundblad@google.com@584082c0-ab3a-11dd-9ddb-6f86aeb5eef6> | 2012-08-27 23:37:20 +0000 |
---|---|---|
committer | plundblad@google.com <plundblad@google.com@584082c0-ab3a-11dd-9ddb-6f86aeb5eef6> | 2012-08-27 23:37:20 +0000 |
commit | 4facfd4e7cac6623d53909b14d6694c6751e3254 (patch) | |
tree | b4b27245d300593888df0454d87b6a6c4fefc863 | |
parent | 344caf0bfb20161349dbf2f658a7f096a08ea769 (diff) | |
download | braille-4facfd4e7cac6623d53909b14d6694c6751e3254.tar.gz |
Push BrailleBack 0.9_r4.
git-svn-id: https://eyes-free.googlecode.com/svn/trunk/braille/client/src/com/googlecode/eyesfree/braille@788 584082c0-ab3a-11dd-9ddb-6f86aeb5eef6
-rw-r--r-- | display/BrailleDisplayProperties.java | 28 |
1 files changed, 27 insertions, 1 deletions
diff --git a/display/BrailleDisplayProperties.java b/display/BrailleDisplayProperties.java index f61bad0..606476f 100644 --- a/display/BrailleDisplayProperties.java +++ b/display/BrailleDisplayProperties.java @@ -19,6 +19,10 @@ package com.googlecode.eyesfree.braille.display; import android.os.Parcel; import android.os.Parcelable; +import java.util.Collections; +import java.util.HashMap; +import java.util.Map; + /** * Properties of a braille display such as dimensions and keyboard * configuration. @@ -27,12 +31,15 @@ public class BrailleDisplayProperties implements Parcelable { private final int mNumTextCells; private final int mNumStatusCells; private final BrailleKeyBinding[] mKeyBindings; + private final Map<String, String> mFriendlyKeyNames; public BrailleDisplayProperties(int numTextCells, int numStatusCells, - BrailleKeyBinding[] keyBindings) { + BrailleKeyBinding[] keyBindings, + Map<String, String> friendlyKeyNames) { mNumTextCells = numTextCells; mNumStatusCells = numStatusCells; mKeyBindings = keyBindings; + mFriendlyKeyNames = friendlyKeyNames; } /** @@ -59,6 +66,14 @@ public class BrailleDisplayProperties implements Parcelable { return mKeyBindings; } + /** + * Returns an unmodifiable map mapping key names in {@link BrailleKeyBinding} + * objects to localized user-friendly key names. + */ + public Map<String, String> getFriendlyKeyNames() { + return mFriendlyKeyNames; + } + @Override public String toString() { return String.format( @@ -92,11 +107,22 @@ public class BrailleDisplayProperties implements Parcelable { out.writeInt(mNumTextCells); out.writeInt(mNumStatusCells); out.writeTypedArray(mKeyBindings, flags); + out.writeInt(mFriendlyKeyNames.size()); + for (Map.Entry<String, String> entry : mFriendlyKeyNames.entrySet()) { + out.writeString(entry.getKey()); + out.writeString(entry.getValue()); + } } private BrailleDisplayProperties(Parcel in) { mNumTextCells = in.readInt(); mNumStatusCells = in.readInt(); mKeyBindings = in.createTypedArray(BrailleKeyBinding.CREATOR); + int size = in.readInt(); + Map<String, String> names = new HashMap<String, String>(size); + for (int i = 0; i < size; ++i) { + names.put(in.readString(), in.readString()); + } + mFriendlyKeyNames = Collections.unmodifiableMap(names); } } |