Modify NIV Portable to use ArrayList instead of HashMap

Reason:
- HashMap is unordered
- LinkedHashMap and OrderedHashMap cannot be serialized by intent