@Override public CharSequence asCharSequence(TypedResource typedResource) { return typedResource.asString(); }
public CharSequence asCharSequence(TypedResource typedResource) { return typedResource.asString(); }
@Override public int asInt(TypedResource typedResource) { return convertInt(typedResource.asString().trim()); } }
@Override public int asInt(TypedResource typedResource) { return convertInt(typedResource.asString().trim()); }
@Override public CharSequence asCharSequence(TypedResource typedResource) { return typedResource.asString().trim(); }
@Override public int asInt(TypedResource typedResource) { return ResourceHelper.getColor(typedResource.asString().trim()); } }
private TypedResource resolveResourceValue(TypedResource value, ResTable_config config, ResName resName) { while (value != null && value.isReference()) { String s = value.asString(); if (AttributeResource.isNull(s) || AttributeResource.isEmpty(s)) { value = null; } else { String refStr = s.substring(1).replace("+", ""); resName = ResName.qualifyResName(refStr, resName); value = resourceTable.getValue(resName, config); } } return value; }
private ResName resolveResource(TypedResource value, ResTable_config config, ResName resName) { while (value != null && value.isReference()) { String s = value.asString(); if (AttributeResource.isNull(s) || AttributeResource.isEmpty(s)) { value = null; } else { String refStr = s.substring(1).replace("+", ""); resName = ResName.qualifyResName(refStr, resName); value = resourceTable.getValue(resName, config); } } return resName; }
final String reference = typedResource.asString(); ResName refResName = AttributeResource.getResourceReference(reference, typedResource.getXmlContext().getPackageName(), null); final String reference = typedResource.asString(); final ResName attrResName = AttributeResource.getStyleReference(reference, typedResource.getXmlContext().getPackageName(), "attr"); data[offset + STYLE_CHANGING_CONFIGURATIONS] = typedValue.changingConfigurations; data[offset + STYLE_DENSITY] = typedValue.density; stringData[i] = typedResource == null ? null : typedResource.asString();
@Test public void whenIdItemsHaveStringContent_shouldLoadIdResourcesDefinedByItemTag() { TypedResource value = resourceTable.getValue( new ResName("org.robolectric", "id", "id_with_string_value"), config); assertThat(value.asString()).isEmpty(); } }
@Test public void shouldLoadIdResourcesDefinedByItemTag() { TypedResource value = resourceTable.getValue(new ResName("org.robolectric", "id", "id_declared_in_item_tag"), config); assertThat(value).isNotNull(); assertThat(value.getResType()).isEqualTo(ResType.CHAR_SEQUENCE); assertThat(value.isReference()).isFalse(); assertThat(value.asString()).isEmpty(); assertThat((String) value.getData()).isEmpty(); }
@Test public void shouldMatchQualifiersInSizeRange() throws Exception { assertEquals("sw300dp-port", asResMap( "", "sw200dp", "sw350dp-port", "sw300dp-port", "sw300dp").pick(resName, from("sw320dp-port-v25")).asString()); }
@Test public void shouldPreferWidthOverHeight() throws Exception { assertEquals("sw300dp-w200dp", asResMap( "", "sw200dp", "sw200dp-w300dp", "sw300dp-w200dp", "w300dp").pick(resName, from("sw320dp-w320dp-v25")).asString()); }
@Test public void shouldMatchQualifiersPerAndroidSpec() throws Exception { assertEquals("en-port", asResMap( "", "en", "fr-rCA", "en-port", "en-notouch-12key", "port-ldpi", "land-notouch-12key").pick(resName, from("en-rGB-port-hdpi-notouch-12key-v25")).asString()); }
@Implementation protected String getQuantityString(int resId, int quantity) throws Resources.NotFoundException { if (isLegacyAssetManager()) { ShadowLegacyAssetManager shadowAssetManager = legacyShadowOf(realResources.getAssets()); TypedResource typedResource = shadowAssetManager.getResourceTable() .getValue(resId, shadowAssetManager.config); if (typedResource != null && typedResource instanceof PluralRules) { PluralRules pluralRules = (PluralRules) typedResource; Plural plural = pluralRules.find(quantity); if (plural == null) { return null; } TypedResource<?> resolvedTypedResource = shadowAssetManager.resolve( new TypedResource<>(plural.getString(), ResType.CHAR_SEQUENCE, pluralRules.getXmlContext()), shadowAssetManager.config, resId); return resolvedTypedResource == null ? null : resolvedTypedResource.asString(); } else { return null; } } else { return directlyOn(realResources, Resources.class).getQuantityString(resId, quantity); } }
@Implementation(maxSdk = M) public String getQuantityString(int resId, int quantity) throws Resources.NotFoundException { ShadowLegacyAssetManager shadowAssetManager = legacyShadowOf(realResourcesImpl.getAssets()); TypedResource typedResource = shadowAssetManager.getResourceTable().getValue(resId, shadowAssetManager.config); if (typedResource != null && typedResource instanceof PluralRules) { PluralRules pluralRules = (PluralRules) typedResource; Plural plural = pluralRules.find(quantity); if (plural == null) { return null; } TypedResource<?> resolvedTypedResource = shadowAssetManager.resolve( new TypedResource<>(plural.getString(), ResType.CHAR_SEQUENCE, pluralRules.getXmlContext()), shadowAssetManager.config, resId); return resolvedTypedResource == null ? null : resolvedTypedResource.asString(); } else { return null; } }
@Implementation(maxSdk = M) public String getQuantityString(int resId, int quantity) throws Resources.NotFoundException { ShadowLegacyAssetManager shadowAssetManager = legacyShadowOf(realResourcesImpl.getAssets()); TypedResource typedResource = shadowAssetManager.getResourceTable().getValue(resId, shadowAssetManager.config); if (typedResource != null && typedResource instanceof PluralRules) { PluralRules pluralRules = (PluralRules) typedResource; Plural plural = pluralRules.find(quantity); if (plural == null) { return null; } TypedResource<?> resolvedTypedResource = shadowAssetManager.resolve( new TypedResource<>(plural.getString(), ResType.CHAR_SEQUENCE, pluralRules.getXmlContext()), shadowAssetManager.config, resId); return resolvedTypedResource == null ? null : resolvedTypedResource.asString(); } else { return null; } }
outValue.data = 0; outValue.assetCookie = Converter.getNextStringCookie(); outValue.string = dereferencedRef.asString(); return; } else if (dereferencedRef.getData() instanceof String) { attribute = new AttributeResource(attribute.resName, dereferencedRef.asString(), resName.packageName); if (attribute.isResourceReference()) { continue;
@Override public int asInt(TypedResource typedResource) { return convertInt(typedResource.asString().trim()); } }
@Override public int asInt(TypedResource typedResource) { return ResourceHelper.getColor(typedResource.asString().trim()); } }