By reading at some question/answers such as this one, I’ve understood that I cannot use request codes bigger than 16 bits because it should thrown a runtime exception due to its masking validation.
However, I’m running up to this question because I’ve only experience this issue in one device even though I’ve been using integers bigger than 16 bit without any issue (such as 2847827) and it works just fine delivering the right result with the same code.
Now, my question is: how is it working? Why it doesn’t throw an exception if it’s bigger? This is making it hard to understand why in some devices with the same API (28) and request code it works, and others don’t.