Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 601e411c authored by Tadashi G. Takaoka's avatar Tadashi G. Takaoka
Browse files

Cleanup KeyboardId's hasCode method

Change-Id: I5fd8f6ac0f42152fb0e2aaaedc6092f6d82fe677
parent 8b1b8aae
Loading
Loading
Loading
Loading
+36 −30
Original line number Diff line number Diff line
@@ -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;