Loading tests/testables/src/android/testing/TestableResources.java +22 −16 Original line number Diff line number Diff line Loading @@ -59,6 +59,7 @@ public class TestableResources { * Since resource ids are unique there is a single addOverride that will override the value * whenever it is gotten regardless of which method is used (i.e. getColor or getDrawable). * </p> * * @param id The resource id to be overridden * @param value The value of the resource, null to cause a {@link Resources.NotFoundException} * when gotten. Loading @@ -74,15 +75,18 @@ public class TestableResources { * cause a {@link Resources.NotFoundException} whereas removing the override will actually * switch back to returning the default/real value of the resource. * </p> * @param id */ public void removeOverride(int id) { mOverrides.remove(id); } private Object answer(InvocationOnMock invocationOnMock) throws Throwable { // Only try to override methods with an integer first argument if (invocationOnMock.getArguments().length > 0) { Object argument = invocationOnMock.getArgument(0); if (argument instanceof Integer) { try { int id = invocationOnMock.getArgument(0); int id = (Integer)argument; int index = mOverrides.indexOfKey(id); if (index >= 0) { Object value = mOverrides.valueAt(index); Loading @@ -97,6 +101,8 @@ public class TestableResources { // the real implementation. Log.i(TAG, "Falling back to default resources call " + t); } } } return invocationOnMock.callRealMethod(); } } Loading
tests/testables/src/android/testing/TestableResources.java +22 −16 Original line number Diff line number Diff line Loading @@ -59,6 +59,7 @@ public class TestableResources { * Since resource ids are unique there is a single addOverride that will override the value * whenever it is gotten regardless of which method is used (i.e. getColor or getDrawable). * </p> * * @param id The resource id to be overridden * @param value The value of the resource, null to cause a {@link Resources.NotFoundException} * when gotten. Loading @@ -74,15 +75,18 @@ public class TestableResources { * cause a {@link Resources.NotFoundException} whereas removing the override will actually * switch back to returning the default/real value of the resource. * </p> * @param id */ public void removeOverride(int id) { mOverrides.remove(id); } private Object answer(InvocationOnMock invocationOnMock) throws Throwable { // Only try to override methods with an integer first argument if (invocationOnMock.getArguments().length > 0) { Object argument = invocationOnMock.getArgument(0); if (argument instanceof Integer) { try { int id = invocationOnMock.getArgument(0); int id = (Integer)argument; int index = mOverrides.indexOfKey(id); if (index >= 0) { Object value = mOverrides.valueAt(index); Loading @@ -97,6 +101,8 @@ public class TestableResources { // the real implementation. Log.i(TAG, "Falling back to default resources call " + t); } } } return invocationOnMock.callRealMethod(); } }