Search in sources :

Example 71 with Rational

use of android.util.Rational in project android_frameworks_base by ResurrectionRemix.

the class Utils method parseRationalRange.

static Range<Rational> parseRationalRange(Object o, Range<Rational> fallback) {
    try {
        String s = (String) o;
        int ix = s.indexOf('-');
        if (ix >= 0) {
            return Range.create(Rational.parseRational(s.substring(0, ix)), Rational.parseRational(s.substring(ix + 1)));
        }
        Rational value = Rational.parseRational(s);
        return Range.create(value, value);
    } catch (ClassCastException e) {
    } catch (NumberFormatException e) {
    } catch (NullPointerException e) {
        return fallback;
    } catch (IllegalArgumentException e) {
    }
    Log.w(TAG, "could not parse rational range '" + o + "'");
    return fallback;
}
Also used : Rational(android.util.Rational)

Example 72 with Rational

use of android.util.Rational in project android_frameworks_base by ResurrectionRemix.

the class RangeTest method testEquals.

@SmallTest
public void testEquals() {
    Range<Float> oneHalf = Range.create(1.0f, 2.0f);
    Range<Float> oneHalf2 = new Range<Float>(1.0f, 2.0f);
    assertEquals(oneHalf, oneHalf2);
    assertHashCodeEquals(oneHalf, oneHalf2);
    Range<Float> twoThirds = new Range<Float>(2.0f, 3.0f);
    Range<Float> twoThirds2 = Range.create(2.0f, 3.0f);
    assertEquals(twoThirds, twoThirds2);
    assertHashCodeEquals(twoThirds, twoThirds2);
    Range<Rational> negativeOneTenthPositiveOneTenth = new Range<Rational>(new Rational(-1, 10), new Rational(1, 10));
    Range<Rational> negativeOneTenthPositiveOneTenth2 = Range.create(new Rational(-1, 10), new Rational(1, 10));
    assertEquals(negativeOneTenthPositiveOneTenth, negativeOneTenthPositiveOneTenth2);
    assertHashCodeEquals(negativeOneTenthPositiveOneTenth, negativeOneTenthPositiveOneTenth2);
}
Also used : Rational(android.util.Rational) Range(android.util.Range) SmallTest(android.test.suitebuilder.annotation.SmallTest)

Example 73 with Rational

use of android.util.Rational in project android_frameworks_base by ResurrectionRemix.

the class RationalTest method testReduction.

@SmallTest
public void testReduction() {
    Rational moreComplicated = new Rational(5 * 78, 7 * 78);
    assertEquals(new Rational(5, 7), moreComplicated);
    assertEquals(5, moreComplicated.getNumerator());
    assertEquals(7, moreComplicated.getDenominator());
    Rational posInf = new Rational(5, 0);
    assertEquals(1, posInf.getNumerator());
    assertEquals(0, posInf.getDenominator());
    assertEquals(POSITIVE_INFINITY, posInf);
    Rational negInf = new Rational(-100, 0);
    assertEquals(-1, negInf.getNumerator());
    assertEquals(0, negInf.getDenominator());
    assertEquals(NEGATIVE_INFINITY, negInf);
    Rational zero = new Rational(0, -100);
    assertEquals(0, zero.getNumerator());
    assertEquals(1, zero.getDenominator());
    assertEquals(ZERO, zero);
    Rational flipSigns = new Rational(1, -1);
    assertEquals(-1, flipSigns.getNumerator());
    assertEquals(1, flipSigns.getDenominator());
    Rational flipAndReduce = new Rational(100, -200);
    assertEquals(-1, flipAndReduce.getNumerator());
    assertEquals(2, flipAndReduce.getDenominator());
}
Also used : Rational(android.util.Rational) SmallTest(android.test.suitebuilder.annotation.SmallTest)

Example 74 with Rational

use of android.util.Rational in project android_frameworks_base by ResurrectionRemix.

the class RationalTest method createIllegalRational.

private static Rational createIllegalRational(int numerator, int denominator) {
    Rational r = new Rational(numerator, denominator);
    mutateField(r, "mNumerator", numerator);
    mutateField(r, "mDenominator", denominator);
    return r;
}
Also used : Rational(android.util.Rational)

Example 75 with Rational

use of android.util.Rational in project android_frameworks_base by ResurrectionRemix.

the class RationalTest method testSerialize.

@SmallTest
public void testSerialize() throws ClassNotFoundException, IOException {
    /*
         * Check correct [de]serialization
         */
    assertEqualsAfterSerializing(ZERO);
    assertEqualsAfterSerializing(NaN);
    assertEqualsAfterSerializing(NEGATIVE_INFINITY);
    assertEqualsAfterSerializing(POSITIVE_INFINITY);
    assertEqualsAfterSerializing(UNIT);
    assertEqualsAfterSerializing(new Rational(100, 200));
    assertEqualsAfterSerializing(new Rational(-100, 200));
    assertEqualsAfterSerializing(new Rational(5, 1));
    assertEqualsAfterSerializing(new Rational(Integer.MAX_VALUE, Integer.MIN_VALUE));
    /*
         * Check bad deserialization fails
         */
    try {
        // [0, 100] , should be [0, 1]
        Rational badZero = createIllegalRational(0, 100);
        Rational results = serializeRoundTrip(badZero);
        fail("Deserializing " + results + " should not have succeeded");
    } catch (InvalidObjectException e) {
    // OK
    }
    try {
        // [100, 0] , should be [1, 0]
        Rational badPosInfinity = createIllegalRational(100, 0);
        Rational results = serializeRoundTrip(badPosInfinity);
        fail("Deserializing " + results + " should not have succeeded");
    } catch (InvalidObjectException e) {
    // OK
    }
    try {
        Rational badNegInfinity = // [-100, 0] , should be [-1, 0]
        createIllegalRational(-100, 0);
        Rational results = serializeRoundTrip(badNegInfinity);
        fail("Deserializing " + results + " should not have succeeded");
    } catch (InvalidObjectException e) {
    // OK
    }
    try {
        // [2,4] , should be [1, 2]
        Rational badReduced = createIllegalRational(2, 4);
        Rational results = serializeRoundTrip(badReduced);
        fail("Deserializing " + results + " should not have succeeded");
    } catch (InvalidObjectException e) {
    // OK
    }
    try {
        // [-2, 4] should be [-1, 2]
        Rational badReducedNeg = createIllegalRational(-2, 4);
        Rational results = serializeRoundTrip(badReducedNeg);
        fail("Deserializing " + results + " should not have succeeded");
    } catch (InvalidObjectException e) {
    // OK
    }
}
Also used : Rational(android.util.Rational) InvalidObjectException(java.io.InvalidObjectException) SmallTest(android.test.suitebuilder.annotation.SmallTest)

Aggregations

Rational (android.util.Rational)96 SmallTest (android.test.suitebuilder.annotation.SmallTest)50 Range (android.util.Range)15 Size (android.util.Size)6 Point (android.graphics.Point)5 Pair (android.util.Pair)5 InvalidObjectException (java.io.InvalidObjectException)5 PictureInPictureParams (android.app.PictureInPictureParams)4 TargetApi (android.annotation.TargetApi)3 MediaWrapper (org.videolan.medialibrary.media.MediaWrapper)2 SuppressLint (android.annotation.SuppressLint)1 PendingIntent (android.app.PendingIntent)1 RemoteAction (android.app.RemoteAction)1 Intent (android.content.Intent)1 Rect (android.graphics.Rect)1 RequiresApi (androidx.annotation.RequiresApi)1 RequiresPermission (androidx.annotation.RequiresPermission)1 CameraSelector (androidx.camera.core.CameraSelector)1 StringBuilder (java.lang.StringBuilder)1 DecimalFormat (java.text.DecimalFormat)1