From 601e411c139ae42ddb5db17e6e02dda6edd83770 Mon Sep 17 00:00:00 2001 From: "Tadashi G. Takaoka" Date: Tue, 13 Dec 2011 22:43:04 +0900 Subject: [PATCH] Cleanup KeyboardId's hasCode method Change-Id: I5fd8f6ac0f42152fb0e2aaaedc6092f6d82fe677 --- .../inputmethod/keyboard/KeyboardId.java | 66 ++++++++++--------- 1 file changed, 36 insertions(+), 30 deletions(-) diff --git a/java/src/com/android/inputmethod/keyboard/KeyboardId.java b/java/src/com/android/inputmethod/keyboard/KeyboardId.java index 46285bfb3..db5d8a84c 100644 --- a/java/src/com/android/inputmethod/keyboard/KeyboardId.java +++ b/java/src/com/android/inputmethod/keyboard/KeyboardId.java @@ -104,23 +104,45 @@ public class KeyboardId { this.mEditorInfo = editorInfo; - this.mHashCode = Arrays.hashCode(new Object[] { - locale, - orientation, - width, - mode, - xmlId, - elementState, - mNavigateAction, - mPasswordInput, - mSettingsKeyEnabled, - mClobberSettingsKey, - shortcutKeyEnabled, - hasShortcutKey, - mImeAction, + this.mHashCode = hashCode(this); + } + + private static int hashCode(KeyboardId id) { + return Arrays.hashCode(new Object[] { + id.mOrientation, + id.mElementState, + id.mMode, + id.mWidth, + id.mXmlId, + id.mNavigateAction, + id.mPasswordInput, + id.mSettingsKeyEnabled, + id.mClobberSettingsKey, + id.mShortcutKeyEnabled, + id.mHasShortcutKey, + id.mImeAction, + id.mLocale, }); } + private boolean equals(KeyboardId other) { + if (other == this) + return true; + return other.mOrientation == this.mOrientation + && other.mElementState == this.mElementState + && other.mMode == this.mMode + && other.mWidth == this.mWidth + && other.mXmlId == this.mXmlId + && other.mNavigateAction == this.mNavigateAction + && other.mPasswordInput == this.mPasswordInput + && other.mSettingsKeyEnabled == this.mSettingsKeyEnabled + && other.mClobberSettingsKey == this.mClobberSettingsKey + && other.mShortcutKeyEnabled == this.mShortcutKeyEnabled + && other.mHasShortcutKey == this.mHasShortcutKey + && other.mImeAction == this.mImeAction + && other.mLocale.equals(this.mLocale); + } + public KeyboardId cloneWithNewXml(int xmlId) { return new KeyboardId(xmlId, mElementState, mLocale, mOrientation, mWidth, mMode, mEditorInfo, false, false, false, false); @@ -171,22 +193,6 @@ public class KeyboardId { return other instanceof KeyboardId && equals((KeyboardId) other); } - private boolean equals(KeyboardId other) { - return other.mLocale.equals(this.mLocale) - && other.mOrientation == this.mOrientation - && other.mWidth == this.mWidth - && other.mMode == this.mMode - && other.mXmlId == this.mXmlId - && other.mElementState == this.mElementState - && other.mNavigateAction == this.mNavigateAction - && other.mPasswordInput == this.mPasswordInput - && other.mSettingsKeyEnabled == this.mSettingsKeyEnabled - && other.mClobberSettingsKey == this.mClobberSettingsKey - && other.mShortcutKeyEnabled == this.mShortcutKeyEnabled - && other.mHasShortcutKey == this.mHasShortcutKey - && other.mImeAction == this.mImeAction; - } - @Override public int hashCode() { return mHashCode;