@Nonnull private ResName getResName(int id) { ResName resName = resourceTable.getResName(id); if (resName == null) { throw new Resources.NotFoundException("Resource ID #0x" + Integer.toHexString(id)); } return resName; }
@Override public String getResourceName(Integer attrId) { return resourceTable.getResName(attrId).getFullyQualifiedName(); }
private Resources.NotFoundException newNotFoundException(int id) { ResourceTable resourceTable = legacyShadowOf(realResources.getAssets()).getResourceTable(); ResName resName = resourceTable.getResName(id); if (resName == null) { return new Resources.NotFoundException("resource ID #0x" + Integer.toHexString(id)); } else { return new Resources.NotFoundException(resName.getFullyQualifiedName()); } }
private Resources.NotFoundException newNotFoundException(int id) { ResourceTable resourceTable = legacyShadowOf(realResourcesImpl.getAssets()).getResourceTable(); ResName resName = resourceTable.getResName(id); if (resName == null) { return new Resources.NotFoundException("resource ID #0x" + Integer.toHexString(id)); } else { return new Resources.NotFoundException(resName.getFullyQualifiedName()); } }
private Resources.NotFoundException newNotFoundException(int id) { ResourceTable resourceTable = legacyShadowOf(realResourcesImpl.getAssets()).getResourceTable(); ResName resName = resourceTable.getResName(id); if (resName == null) { return new Resources.NotFoundException("resource ID #0x" + Integer.toHexString(id)); } else { return new Resources.NotFoundException(resName.getFullyQualifiedName()); } }
@Test public void shouldRetainPackageNameForFullyQualifiedQueries() throws Exception { assertThat(systemResourceTable.getResName(android.R.id.text1).getFullyQualifiedName()).isEqualTo("android:id/text1"); assertThat(appResourceTable.getResName(R.id.burritos).getFullyQualifiedName()).isEqualTo("org.robolectric:id/burritos"); } }
@Test public void shouldMakeInternalResourcesAvailable() throws Exception { ResourceTable resourceProvider = RuntimeEnvironment.getSystemResourceTable(); ResName internalResource = new ResName("android", "string", "badPin"); Integer resId = resourceProvider.getResourceId(internalResource); assertThat(resId).isNotNull(); assertThat(resourceProvider.getResName(resId)).isEqualTo(internalResource); Class<?> internalRIdClass = Robolectric.class.getClassLoader().loadClass("com.android.internal.R$" + internalResource.type); int internalResourceId; internalResourceId = (Integer) internalRIdClass.getDeclaredField(internalResource.name).get(null); assertThat(resId).isEqualTo(internalResourceId); assertThat(ApplicationProvider.getApplicationContext().getResources().getString(resId)) .isEqualTo("The old PIN you typed isn't correct."); } }
ResName refResName = resourceTable.getResName(referenceResId); if (refResName != null) { attributeValue = "@" + refResName.getFullyQualifiedName(); ResName attrName = resourceTable.getResName(resId); if (attrName == null) return null;
@HiddenApi @Implementation(minSdk = LOLLIPOP) public boolean getThemeValue(long themePtr, int ident, TypedValue outValue, boolean resolveRefs) { ResName resName = resourceTable.getResName(ident); ThemeStyleSet themeStyleSet = getNativeTheme(themePtr).themeStyleSet; AttributeResource attrValue = themeStyleSet.getAttrValue(resName); while(attrValue != null && attrValue.isStyleReference()) { ResName attrResName = attrValue.getStyleReference(); if (attrValue.resName.equals(attrResName)) { Logger.info("huh... circular reference for %s?", attrResName.getFullyQualifiedName()); return false; } attrValue = themeStyleSet.getAttrValue(attrResName); } if (attrValue != null) { convertAndFill(attrValue, outValue, config, resolveRefs); return true; } return false; }
return null; ResName resName = resourceTable.getResName(resId);
@Override public String getResourceName(Integer attrId) { return resourceTable.getResName(attrId).getFullyQualifiedName(); }
@Nonnull private ResName getResName(int id) { ResName resName = resourceTable.getResName(id); if (resName == null) { throw new Resources.NotFoundException("Unable to find resource ID #0x" + Integer.toHexString(id) + " in packages " + resourceTable); } return resName; }
@NotNull private ResName getResName(int id) { ResName resName = resourceTable.getResName(id); if (resName == null) { throw new Resources.NotFoundException("Unable to find resource ID #0x" + Integer.toHexString(id) + " in packages " + resourceTable); } return resName; }
@Nonnull private ResName getResName(int id) { ResName resName = resourceTable.getResName(id); if (resName == null) { throw new Resources.NotFoundException("Resource ID #0x" + Integer.toHexString(id)); } return resName; }
private Resources.NotFoundException newNotFoundException(int id) { ResourceTable resourceTable = shadowOf(realResources.getAssets()).getResourceTable(); ResName resName = resourceTable.getResName(id); if (resName == null) { return new Resources.NotFoundException("resource ID #0x" + Integer.toHexString(id)); } else { return new Resources.NotFoundException(resName.getFullyQualifiedName()); } }
private Resources.NotFoundException newNotFoundException(int id) { ResourceTable resourceTable = legacyShadowOf(realResources.getAssets()).getResourceTable(); ResName resName = resourceTable.getResName(id); if (resName == null) { return new Resources.NotFoundException("resource ID #0x" + Integer.toHexString(id)); } else { return new Resources.NotFoundException(resName.getFullyQualifiedName()); } }
private Resources.NotFoundException newNotFoundException(int id) { ResourceTable resourceTable = legacyShadowOf(realResourcesImpl.getAssets()).getResourceTable(); ResName resName = resourceTable.getResName(id); if (resName == null) { return new Resources.NotFoundException("resource ID #0x" + Integer.toHexString(id)); } else { return new Resources.NotFoundException(resName.getFullyQualifiedName()); } }
private Resources.NotFoundException newNotFoundException(int id) { ResourceTable resourceTable = shadowOf(realResourcesImpl.getAssets()).getResourceTable(); ResName resName = resourceTable.getResName(id); if (resName == null) { return new Resources.NotFoundException("resource ID #0x" + Integer.toHexString(id)); } else { return new Resources.NotFoundException(resName.getFullyQualifiedName()); } }
private Resources.NotFoundException newNotFoundException(int id) { ResourceTable resourceTable = legacyShadowOf(realResourcesImpl.getAssets()).getResourceTable(); ResName resName = resourceTable.getResName(id); if (resName == null) { return new Resources.NotFoundException("resource ID #0x" + Integer.toHexString(id)); } else { return new Resources.NotFoundException(resName.getFullyQualifiedName()); } }
@HiddenApi @Implementation(minSdk = LOLLIPOP) public boolean getThemeValue(long themePtr, int ident, TypedValue outValue, boolean resolveRefs) { ResName resName = resourceTable.getResName(ident); ThemeStyleSet themeStyleSet = getNativeTheme(themePtr).themeStyleSet; AttributeResource attrValue = themeStyleSet.getAttrValue(resName); while(attrValue != null && attrValue.isStyleReference()) { ResName attrResName = attrValue.getStyleReference(); if (attrValue.resName.equals(attrResName)) { Logger.info("huh... circular reference for %s?", attrResName.getFullyQualifiedName()); return false; } attrValue = themeStyleSet.getAttrValue(attrResName); } if (attrValue != null) { convertAndFill(attrValue, outValue, RuntimeEnvironment.getQualifiers(), resolveRefs); return true; } return false; }