Merge "MathUtils: Remove static Random field."

This commit is contained in:
Narayan Kamath
2017-03-09 11:13:35 +00:00
committed by Android (Google) Code Review
2 changed files with 11 additions and 30 deletions

View File

@@ -24,7 +24,6 @@ import java.util.Random;
* @hide Pending API council approval
*/
public final class MathUtils {
private static final Random sRandom = new Random();
private static final float DEG_TO_RAD = 3.1415926f / 180.0f;
private static final float RAD_TO_DEG = 180.0f / 3.1415926f;
@@ -185,28 +184,6 @@ public final class MathUtils {
return maxStart + (maxStart - maxStop) * ((value - minStart) / (minStop - minStart));
}
public static int random(int howbig) {
return (int) (sRandom.nextFloat() * howbig);
}
public static int random(int howsmall, int howbig) {
if (howsmall >= howbig) return howsmall;
return (int) (sRandom.nextFloat() * (howbig - howsmall) + howsmall);
}
public static float random(float howbig) {
return sRandom.nextFloat() * howbig;
}
public static float random(float howsmall, float howbig) {
if (howsmall >= howbig) return howsmall;
return sRandom.nextFloat() * (howbig - howsmall) + howsmall;
}
public static void randomSeed(long seed) {
sRandom.setSeed(seed);
}
/**
* Returns the sum of the two parameters, or throws an exception if the resulting sum would
* cause an overflow or underflow.

View File

@@ -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;
}