Parcelable: Support SortedSet, NavigableSet, SortedMap, NavigableMap

This commit is contained in:
Yan Zhulanow
2017-07-06 17:25:09 +03:00
parent cf607a0f14
commit d0e4b236a7
4 changed files with 24 additions and 4 deletions
@@ -82,6 +82,8 @@ interface ParcelSerializer {
|| className == ArrayList::class.java.canonicalName
|| className == LinkedList::class.java.canonicalName
|| className == Set::class.java.canonicalName
|| className == SortedSet::class.java.canonicalName
|| className == NavigableSet::class.java.canonicalName
|| className == HashSet::class.java.canonicalName
|| className == LinkedHashSet::class.java.canonicalName
|| className == TreeSet::class.java.canonicalName
@@ -93,6 +95,8 @@ interface ParcelSerializer {
}
className == Map::class.java.canonicalName
|| className == SortedMap::class.java.canonicalName
|| className == NavigableMap::class.java.canonicalName
|| className == HashMap::class.java.canonicalName
|| className == LinkedHashMap::class.java.canonicalName
|| className == TreeMap::class.java.canonicalName
@@ -204,7 +204,11 @@ abstract internal class AbstractCollectionParcelSerializer(
protected val collectionType: Type = Type.getObjectType(when (asmType.internalName) {
"java/util/List" -> "java/util/ArrayList"
"java/util/Set" -> "java/util/LinkedHashSet"
"java/util/SortedSet" -> "java/util/TreeSet"
"java/util/NavigableSet" -> "java/util/TreeSet"
"java/util/Map" -> "java/util/LinkedHashMap"
"java/util/SortedMap" -> "java/util/TreeMap"
"java/util/NavigableMap" -> "java/util/TreeMap"
else -> asmType.internalName
})