Skip to content

Commit 8ac0c66

Browse files
committed
Fix Android 2.2 compatibility
FroYo doesn't support some of Arrays' functions, such as copyOf() and copyOfRange(). ArraysCompat implements all variants of those methods, adding FroYo compatibility back
1 parent 1c3530e commit 8ac0c66

File tree

6 files changed

+502
-16
lines changed

6 files changed

+502
-16
lines changed

src/main/java/com/fasterxml/jackson/core/io/CharacterEscapes.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
package com.fasterxml.jackson.core.io;
22

3-
import java.util.Arrays;
4-
53
import com.fasterxml.jackson.core.SerializableString;
4+
import com.fasterxml.jackson.core.util.ArraysCompat;
65

76
/**
87
* Abstract base class that defines interface for customizing character
@@ -67,6 +66,6 @@ public abstract class CharacterEscapes
6766
public static int[] standardAsciiEscapesForJSON()
6867
{
6968
int[] esc = CharTypes.get7BitOutputEscapes();
70-
return Arrays.copyOf(esc, esc.length);
69+
return ArraysCompat.copyOf(esc, esc.length);
7170
}
7271
}

src/main/java/com/fasterxml/jackson/core/json/UTF8StreamJsonParser.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package com.fasterxml.jackson.core.json;
22

33
import java.io.*;
4-
import java.util.Arrays;
54

65
import com.fasterxml.jackson.core.*;
76
import com.fasterxml.jackson.core.base.ParserBase;
@@ -3129,7 +3128,7 @@ public static int[] growArrayBy(int[] arr, int more)
31293128
if (arr == null) {
31303129
return new int[more];
31313130
}
3132-
return Arrays.copyOf(arr, arr.length + more);
3131+
return ArraysCompat.copyOf(arr, arr.length + more);
31333132
}
31343133

31353134
/*

src/main/java/com/fasterxml/jackson/core/sym/BytesToNameCanonicalizer.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import java.util.Arrays;
44
import java.util.concurrent.atomic.AtomicReference;
55

6+
import com.fasterxml.jackson.core.util.ArraysCompat;
67
import com.fasterxml.jackson.core.util.InternCache;
78

89
/**
@@ -1012,7 +1013,7 @@ private int findBestBucket()
10121013
private void unshareMain()
10131014
{
10141015
final int[] old = _mainHash;
1015-
_mainHash = Arrays.copyOf(old, old.length);
1016+
_mainHash = ArraysCompat.copyOf(old, old.length);
10161017
_mainHashShared = false;
10171018
}
10181019

@@ -1022,22 +1023,22 @@ private void unshareCollision()
10221023
if (old == null) {
10231024
_collList = new Bucket[INITIAL_COLLISION_LEN];
10241025
} else {
1025-
_collList = Arrays.copyOf(old, old.length);
1026+
_collList = ArraysCompat.copyOf(old, old.length);
10261027
}
10271028
_collListShared = false;
10281029
}
10291030

10301031
private void unshareNames()
10311032
{
10321033
final Name[] old = _mainNames;
1033-
_mainNames = Arrays.copyOf(old, old.length);
1034+
_mainNames = ArraysCompat.copyOf(old, old.length);
10341035
_mainNamesShared = false;
10351036
}
10361037

10371038
private void expandCollision()
10381039
{
10391040
final Bucket[] old = _collList;
1040-
_collList = Arrays.copyOf(old, old.length * 2);
1041+
_collList = ArraysCompat.copyOf(old, old.length * 2);
10411042
}
10421043

10431044
/*

src/main/java/com/fasterxml/jackson/core/sym/CharsToNameCanonicalizer.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import java.util.Arrays;
44

5+
import com.fasterxml.jackson.core.util.ArraysCompat;
56
import com.fasterxml.jackson.core.util.InternCache;
67

78
/**
@@ -576,9 +577,9 @@ public int calcHash(String key)
576577
private void copyArrays()
577578
{
578579
final String[] oldSyms = _symbols;
579-
_symbols = Arrays.copyOf(oldSyms, oldSyms.length);
580+
_symbols = ArraysCompat.copyOf(oldSyms, oldSyms.length);
580581
final Bucket[] oldBuckets = _buckets;
581-
_buckets = Arrays.copyOf(oldBuckets, oldBuckets.length);
582+
_buckets = ArraysCompat.copyOf(oldBuckets, oldBuckets.length);
582583
}
583584

584585
/**

0 commit comments

Comments
 (0)