Fix #close() for FileChannel created from FileDescriptor.

Android io streams/channels created from a FileDescriptor doesn't
own it. OpenJdk operated under different assumption. FileChannel#close()
tries to do a preClose (dup2 using unusable file descripto) on
FileDescriptor regardless of it's origin. preClose seems to exists
to prevent the use of FD in case where FD value is recycled right after
use. This was never an issue on android, and was removed from some openJdk
classes.

Bug: 27351214
Change-Id: Ibacb192abc37870c74a2500d65b94d68f9c2318e
2 files changed