diff options
author | Andreas Gampe <agampe@google.com> | 2015-05-14 00:39:03 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2015-05-14 00:39:04 +0000 |
commit | f9d7d8a6ac9ff1502f6ad5999019b1abb29d52bb (patch) | |
tree | ae413c1b86dc97a6ee0339ffd04896cc63b1b120 | |
parent | 8239eb231c1fcc92f4d2d9ed3f4edaa9502ae54c (diff) | |
parent | 8d53a06d10c6e2b96be6857aede5e4661804611e (diff) | |
download | dexmaker-f9d7d8a6ac9ff1502f6ad5999019b1abb29d52bb.tar.gz |
Merge "Issue: ProxyBuilder.getMethodsToProxyRecursive() was not returning list of methods in deterministic order."android-tsl-4.0android-tsl-3.0android-m-preview-2android-m-preview-1android-m-previewandroid-support-test
-rw-r--r-- | src/main/java/com/google/dexmaker/stock/ProxyBuilder.java | 11 | ||||
-rw-r--r-- | src/test/java/com/google/dexmaker/stock/ProxyBuilderTest.java | 2 |
2 files changed, 13 insertions, 0 deletions
diff --git a/src/main/java/com/google/dexmaker/stock/ProxyBuilder.java b/src/main/java/com/google/dexmaker/stock/ProxyBuilder.java index b3a8d8a..f943840 100644 --- a/src/main/java/com/google/dexmaker/stock/ProxyBuilder.java +++ b/src/main/java/com/google/dexmaker/stock/ProxyBuilder.java @@ -38,6 +38,7 @@ import static java.lang.reflect.Modifier.STATIC; import java.lang.reflect.UndeclaredThrowableException; import java.util.Arrays; import java.util.Collections; +import java.util.Comparator; import java.util.HashMap; import java.util.HashSet; import java.util.Map; @@ -613,6 +614,16 @@ public final class ProxyBuilder<T> { for (MethodSetEntry entry : methodsToProxy) { results[i++] = entry.originalMethod; } + + // Sort the results array so that they are returned by this method + // in a deterministic fashion. + Arrays.sort(results, new Comparator<Method>() { + @Override + public int compare(Method method1, Method method2) { + return method1.toString().compareTo(method2.toString()); + } + }); + return results; } diff --git a/src/test/java/com/google/dexmaker/stock/ProxyBuilderTest.java b/src/test/java/com/google/dexmaker/stock/ProxyBuilderTest.java index 4c02f83..e6912c4 100644 --- a/src/test/java/com/google/dexmaker/stock/ProxyBuilderTest.java +++ b/src/test/java/com/google/dexmaker/stock/ProxyBuilderTest.java @@ -19,10 +19,12 @@ package com.google.dexmaker.stock; import com.google.dexmaker.DexMakerTest; import java.io.File; import java.io.IOException; +import java.lang.reflect.Field; import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; import java.lang.reflect.UndeclaredThrowableException; import java.util.Arrays; +import java.util.Map; import java.util.Random; import java.util.concurrent.Callable; import java.util.concurrent.atomic.AtomicInteger; |