CTS cases fail due to NE in SVOX TTS library

Failed CTS cases:
android.speech.tts.cts.TextToSpeechTest#testSpeak
android.speech.tts.cts.TextToSpeechTest#testSpeakStop
android.speech.tts.cts.TextToSpeechTest#testSynthesizeToFile

We can also reproduce this NE by following steps:
1. Go to Accessibility Settings
2. Select Text to speech output
3. Click play

Analysis:
Exception occurs due to calculation of
picokpr_getAttrValArrInt32(...) is incorrect. The logic here
intends to clear the MSB and return the rest of the bits. We
found if library compiled in Android N environment the result
of comparison operation is different from library compiled in
Android O environment. In Android O, actual returne value doesn't
process the value and returns as it is. This causes invalid
pointer access and hence native exception due to segmentation fault.

Solution: Changed to use bitwise shift instead.

Bug: 64204643
Test: After applying this patch, CTS cases can pass and exception
can be fixed.

Change-Id: Ife3137225ecf9667df62321472420fab6ab88d2e
1 file changed