diff options
author | Narayan Kamath <narayan@google.com> | 2017-03-02 19:26:44 +0000 |
---|---|---|
committer | Narayan Kamath <narayan@google.com> | 2017-03-08 10:07:03 +0000 |
commit | b192344234dcee215462e6218cf1c4384b9916f1 (patch) | |
tree | 990982dd7557155e89e2ffb7fc0b0472f7927cab /tests/HwAccelerationTest/src | |
parent | 07be4d67813bdda4479e0e5a482f76b3f52160e7 (diff) |
MathUtils: Remove static Random field.
This is unsafe because the random will be seeded in the zygote, which
means all processes on the system generate the same sequence of random
numbers. Fortunately, this code is only used in tests, so get rid of it.
Note that the Random that backs Math.random() is reseeded after every
fork to avoid a similar issue.
Bug: 35918685
Test: HwAccelerationTest
Change-Id: Ice79aa25bb9017f7a0b91659afe04112850cb74b
Diffstat (limited to 'tests/HwAccelerationTest/src')
-rw-r--r-- | tests/HwAccelerationTest/src/com/android/test/hwui/PathDestructionActivity.java | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/tests/HwAccelerationTest/src/com/android/test/hwui/PathDestructionActivity.java b/tests/HwAccelerationTest/src/com/android/test/hwui/PathDestructionActivity.java index 4177725e3847..5cede6540410 100644 --- a/tests/HwAccelerationTest/src/com/android/test/hwui/PathDestructionActivity.java +++ b/tests/HwAccelerationTest/src/com/android/test/hwui/PathDestructionActivity.java @@ -25,6 +25,8 @@ import android.os.Bundle; import android.util.MathUtils; import android.view.View; +import java.util.Random; + /** * The point of this test is to ensure that we can cause many paths to be created, drawn, * and destroyed without causing hangs or crashes. This tests the native reference counting @@ -57,10 +59,11 @@ public class PathDestructionActivity extends Activity { private Path getRandomPath() { float left, top, right, bottom; - left = MathUtils.random(getWidth() - MIN_SIZE); - top = MathUtils.random(getHeight() - MIN_SIZE); - right = left + MathUtils.random(getWidth() - left); - bottom = top + MathUtils.random(getHeight() - top); + Random r = new Random(); + left = r.nextFloat() * (getWidth() - MIN_SIZE); + top = r.nextFloat() * (getHeight() - MIN_SIZE); + right = left + r.nextFloat() * (getWidth() - left); + bottom = top + r.nextFloat() * (getHeight() - top); Path path = new Path(); path.moveTo(left, top); path.lineTo(right, top); @@ -71,9 +74,10 @@ public class PathDestructionActivity extends Activity { } private int getRandomColor() { - int red = MathUtils.random(255); - int green = MathUtils.random(255); - int blue = MathUtils.random(255); + Random r = new Random(); + int red = r.nextInt(255); + int green = r.nextInt(255); + int blue = r.nextInt(255); return 0xff000000 | red << 16 | green << 8 | blue; } |