Use hand written hasCode for ChangeIdStateQuery

Because Objects.hash(Object... values) will always create an array
to wrap the "..." arguments, with additional auto-boxing for all
primitive type arguments.

This can reduce the execution time of ChangeIdStateQuery#hashCode()
by 8 times, which is usually the main cost of
CompatChanges#isChangeEnabled.

Bug: 208449209
Test: atest android.app.compat.CompatChangesTest

Change-Id: I863aa1d35e7448b5a965368272198c4529253ae0
1 file changed