Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a444636d authored by Narayan Kamath's avatar Narayan Kamath Committed by Android (Google) Code Review
Browse files

Merge "MathUtils: Remove static Random field."

parents a355edf4 b1923442
Loading
Loading
Loading
Loading
+0 −23
Original line number Diff line number Diff line
@@ -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.
+11 −7
Original line number Diff line number Diff line
@@ -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;
        }