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

Commit ac77f462 authored by Dmitri Plotnikov's avatar Dmitri Plotnikov
Browse files

Prevent ActivityTestCase from erasing constants.

If you test case is declaring a non-primitive constant,
this method would clear out the constant between
individual tests.

Change-Id: I570f2bbbbbb0a170bf63b7473b4aaf84869e93e0
parent cd3676e7
Loading
Loading
Loading
Loading
+9 −7
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@ package android.test;
import android.app.Activity;

import java.lang.reflect.Field;
import java.lang.reflect.Modifier;

/**
 * This is common code used to support Activity test cases.  For more useful classes, please see
@@ -62,7 +63,8 @@ public abstract class ActivityTestCase extends InstrumentationTestCase {
        final Field[] fields = getClass().getDeclaredFields();
        for (Field field : fields) {
            final Class<?> fieldClass = field.getDeclaringClass();
            if (testCaseClass.isAssignableFrom(fieldClass) && !field.getType().isPrimitive()) {
            if (testCaseClass.isAssignableFrom(fieldClass) && !field.getType().isPrimitive()
                    && (field.getModifiers() & Modifier.FINAL) == 0) {
                try {
                    field.setAccessible(true);
                    field.set(this, null);