Do not use regexps to parse simple version strings.

This saves 5-10ms on a JellyBean Samsung Nexus S for the check
to see whether the VM supports multidex natively.

On a newer Samsung S7 phone it saves 0.5 ms.

Test: manually tested on old and new devices.
Bug: 74259172

Change-Id: Ic05645deb5b4b990d07c726aa0fdd5f0cfa5884b
diff --git a/library/src/androidx/multidex/MultiDex.java b/library/src/androidx/multidex/MultiDex.java
index 30cb886..c038709 100644
--- a/library/src/androidx/multidex/MultiDex.java
+++ b/library/src/androidx/multidex/MultiDex.java
@@ -38,8 +38,7 @@
 import java.util.List;
 import java.util.ListIterator;
 import java.util.Set;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
+import java.util.StringTokenizer;
 import java.util.zip.ZipFile;
 
 /**
@@ -334,11 +333,13 @@
     static boolean isVMMultidexCapable(String versionString) {
         boolean isMultidexCapable = false;
         if (versionString != null) {
-            Matcher matcher = Pattern.compile("(\\d+)\\.(\\d+)(\\.\\d+)?").matcher(versionString);
-            if (matcher.matches()) {
+            StringTokenizer tokenizer = new StringTokenizer(versionString, ".");
+            String majorToken = tokenizer.hasMoreTokens() ? tokenizer.nextToken() : null;
+            String minorToken = tokenizer.hasMoreTokens() ? tokenizer.nextToken() : null;
+            if (majorToken != null && minorToken != null) {
                 try {
-                    int major = Integer.parseInt(matcher.group(1));
-                    int minor = Integer.parseInt(matcher.group(2));
+                    int major = Integer.parseInt(majorToken);
+                    int minor = Integer.parseInt(minorToken);
                     isMultidexCapable = (major > VM_WITH_MULTIDEX_VERSION_MAJOR)
                             || ((major == VM_WITH_MULTIDEX_VERSION_MAJOR)
                                     && (minor >= VM_WITH_MULTIDEX_VERSION_MINOR));
diff --git a/version.gradle b/version.gradle
index 85e088f..dd05783 100644
--- a/version.gradle
+++ b/version.gradle
@@ -14,4 +14,4 @@
  * limitations under the License.
  */
 
-ext.multidexVersion = '2.0.0'
+ext.multidexVersion = '2.0.1'