Returns 0 after EOF has reached for the current entry data, otherwise always return 1.
Programs should not count on this method to return the actual number of bytes that could be read without blocking.
So this method should return a value >0 if there're data available to be read. Unfortunately it looks as if some implementations don't follow this documentation and return always 0. That's why it couldn't extract plugin files properly on some devices.
The fix is to ignore available() and just try to read the data