[DO NOT MERGE] Handle out-of-bound array index in FastDataInput

Due to unknown reasons, SettingsProvider has been seeing corrupted xml
files that can cause ArrayIndexOutOfBoundsException during parsing. When
the exception is uncaught, it can cause system crashes and device boot
loop. This CL prevents the exception by checking the index and array
length before indexing. It throws an IOException when the index is out
of bound, such that the SettingsProvider can handle it gracefully.

BUG: 295555884
Test: builds

Cherry-picked from ag/24450007

Change-Id: I7b6c7cf0b6150a3a4046ec35090a63c0912c80c8
1 file changed