private static Collection<String> getDensityResConfigs(Collection<String> resourceConfigs) { return Collections2.filter( new ArrayList<>(resourceConfigs), input -> Density.getEnum(input) != null); } }
public String getLegacyValue() { if (this != NODPI) { return String.format("%1$ddpi", getDpiValue()); } return ""; }
@Override protected Set<String> getDefaultValues() { Density[] values = Density.values(); Set<String> fullList = Sets.newHashSetWithExpectedSize(values.length - 2); for (Density value : values) { if (value != Density.NODPI && value != Density.ANYDPI && value.isRecommended()) { fullList.add(value.getResourceValue()); } } return fullList; }
/** * Returns all densities which are recommended and valid for a device. * * @see #isRecommended() * @see #isValidValueForDevice() */ public static Set<Density> getRecommendedValuesForDevice() { EnumSet<Density> result = EnumSet.allOf(Density.class); for (Density value : values()) { if (!value.isRecommended() || !value.isValidValueForDevice()) { result.remove(value); } } return result; }
@Override protected ImmutableSet<String> getAllowedValues() { ImmutableSet.Builder<String> builder = ImmutableSet.builder(); for (Density value : Density.values()) { if (value != Density.NODPI && value != Density.ANYDPI) { builder.add(value.getResourceValue()); } } return builder.build(); }
/** * Adds in the resConfig values specified by the given flavor container, assuming * it's in one of the relevant variantFlavors, into the given set */ private static void addResConfigsFromFlavor(@NonNull Set<String> relevantDensities, @Nullable List<String> variantFlavors, @NonNull ProductFlavorContainer container) { ProductFlavor flavor = container.getProductFlavor(); if (variantFlavors == null || variantFlavors.contains(flavor.getName())) { if (!flavor.getResourceConfigurations().isEmpty()) { for (String densityName : flavor.getResourceConfigurations()) { Density density = Density.getEnum(densityName); if (density != null && density.isRecommended() && density != Density.NODPI && density != Density.ANYDPI) { relevantDensities.add(densityName); } } } } }
String densityString = Strings.nullToEmpty(AndroidGradleOptions.getBuildTargetDensity(project)); Density density = Density.getEnum(densityString); outputDataList, variantConfiguration.getSupportedAbis(), density == null ? -1 : density.getDpiValue(), abiList);
resourceConfigs.add(mPreferredDensity); resourceConfigs.add(Density.NODPI.getResourceValue()); if (buildToolInfo.getRevision().getMajor() >= 21) { for (String resourceConfig : resourceConfigs) { if (Density.getEnum(resourceConfig) != null) { densityResourceConfigs.add(resourceConfig); } else {
private static String convert(@NonNull String density, @NonNull Density... densitiesToConvert) { for (Density densityToConvert : densitiesToConvert) { if (densityToConvert.getResourceValue().equals(density)) { return Integer.toString(densityToConvert.getDpiValue()); } } return density; }
public static int getIndex(Density value) { int i = 0; for (Density input : values()) { if (value == input) { return i; } i++; } return -1; }
/** * Set of screen densities for which PNG files should be generated based on vector drawable * resource files. * * <p>Default to {@code ["mdpi", "hdpi", "xhdpi", "xxhdpi"]}. */ public Set<String> getDensities() { Set<String> result = Sets.newHashSet(); for (Density density : densities) { result.add(density.getResourceValue()); } return result; }
@Override protected Set<String> getDefaultValues() { Set<Density> values = Density.getRecommendedValuesForDevice(); Set<String> fullList = Sets.newHashSetWithExpectedSize(values.size()); for (Density value : values) { fullList.add(value.getResourceValue()); } return fullList; }
public static int getIndex(Density value) { return value == null ? -1 : value.ordinal(); }
/** * Adds in the resConfig values specified by the given flavor container, assuming * it's in one of the relevant variantFlavors, into the given set */ private static void addResConfigsFromFlavor(@NonNull Set<String> relevantDensities, @Nullable List<String> variantFlavors, @NonNull ProductFlavorContainer container) { ProductFlavor flavor = container.getProductFlavor(); if (variantFlavors == null || variantFlavors.contains(flavor.getName())) { if (!flavor.getResourceConfigurations().isEmpty()) { for (String densityName : flavor.getResourceConfigurations()) { Density density = Density.getEnum(densityName); if (density != null && density.isRecommended() && density != Density.NODPI && density != Density.ANYDPI) { relevantDensities.add(densityName); } } } } }
@Override protected ImmutableSet<String> getAllowedValues() { ImmutableSet.Builder<String> builder = ImmutableSet.builder(); for (Density value : Density.values()) { if (value != Density.NODPI && value != Density.ANYDPI) { builder.add(value.getResourceValue()); } } return builder.build(); }
public static Density getByIndex(int index) { Density[] values = values(); if (index >=0 && index < values.length) { return values[index]; } return null; }
"%s in %s, %s%n", inputXmlFile.getName(), density.getResourceValue(),
@Override public int hashCode() { int hash = 17; hash = 31 * hash + mScreenSize.ordinal(); long f = Double.doubleToLongBits(mDiagonalLength); hash = 31 * hash + (int) (f ^ (f >>> 32)); hash = 31 * hash + mPixelDensity.ordinal(); hash = 31 * hash + mScreenRatio.ordinal(); hash = 31 * hash + mXDimension; hash = 31 * hash + mYDimension; f = Double.doubleToLongBits(mXdpi); hash = 31 * hash + (int) (f ^ (f >>> 32)); f = Double.doubleToLongBits(mYdpi); hash = 31 * hash + (int) (f ^ (f >>> 32)); hash = 31 * hash + mMultitouch.ordinal(); hash = 31 * hash + mMechanism.ordinal(); hash = 31 * hash + mScreenType.ordinal(); hash = 31 * hash + mChin; if (mScreenRound != null) { hash = 31 * hash + mScreenRound.ordinal(); } return hash; }
/** * Adds in the resConfig values specified by the given flavor container, assuming * it's in one of the relevant variantFlavors, into the given set */ private static void addResConfigsFromFlavor(@NonNull Set<String> relevantDensities, @Nullable List<String> variantFlavors, @NonNull ProductFlavorContainer container) { ProductFlavor flavor = container.getProductFlavor(); if (variantFlavors == null || variantFlavors.contains(flavor.getName())) { if (!flavor.getResourceConfigurations().isEmpty()) { for (String densityName : flavor.getResourceConfigurations()) { Density density = Density.getEnum(densityName); if (density != null && density.isRecommended() && density != Density.NODPI && density != Density.ANYDPI) { relevantDensities.add(densityName); } } } } }
public void setDensities(Set<String> densities) { EnumSet<Density> newValue = EnumSet.noneOf(Density.class); for (String density : densities) { Density typedValue = Density.getEnum(density); checkArgument(typedValue != null, "Unrecognized density %s", density); newValue.add(typedValue); } this.densities = newValue; }