Cast ApkAssets to uintptr_t before jlong

Ever since 1e2456730d433551161f04b07e8b9524dd5b556a was submitted, we
have been getting reports of leaking of fds owned by ApkAssets.

The code that invokes the finalizer in NativeAllocationRegistry uses
the following code to cast the jlong free function to the pointer of the
native free function:
void* nativePtr = reinterpret_cast<void*>(static_cast<uintptr_t>(ptr));

In ApkAssets, we should be doing the reverse of these casts to give
NativeAllocationRegistry a pointer to a free function that will be
interpreted correctly.

Bug: 178571382
Test: manual
Change-Id: I6cd3f5cc9fd3693a1288e0309e9e49b08c0d5316
1 file changed