public final class FolderConfiguration extends java.lang.Object implements java.lang.Comparable<FolderConfiguration>, java.io.Serializable
Modifier and Type | Field and Description |
---|---|
static com.google.common.base.Splitter |
QUALIFIER_SPLITTER
Splitter which can be used to split qualifiers
|
Constructor and Description |
---|
FolderConfiguration() |
public static final com.google.common.base.Splitter QUALIFIER_SPLITTER
@Nullable public static FolderConfiguration getConfig(@NonNull java.lang.String[] folderSegments)
FolderConfiguration
matching the folder segments.folderSegments
- The segments of the folder name. The first segments should contain
the name of the folder@Nullable public static FolderConfiguration getConfig(@NonNull java.lang.Iterable<java.lang.String> folderSegments)
FolderConfiguration
matching the folder segments.folderSegments
- The segments of the folder name. The first segments should contain
the name of the foldergetConfig(String[])
@Nullable public static FolderConfiguration getConfigFromQualifiers(@NonNull java.lang.Iterable<java.lang.String> qualifiers)
FolderConfiguration
matching the qualifiers.qualifiers
- the qualifiers.@Nullable public static FolderConfiguration getConfigFromQualifiers(@NonNull java.util.Iterator<java.lang.String> qualifiers)
FolderConfiguration
matching the qualifiers.qualifiers
- An iterator on the qualifiers.@Nullable public static FolderConfiguration getConfigForFolder(@NonNull java.lang.String folderName)
FolderConfiguration
matching the given folder name.folderName
- the folder name@NonNull public static FolderConfiguration copyOf(@NonNull FolderConfiguration original)
FolderConfiguration
, that can be modified without
affecting the original.@Nullable public static FolderConfiguration getConfigForQualifierString(@NonNull java.lang.String qualifierString)
FolderConfiguration
matching the given qualifier string
(just the qualifiers; e.g. for a folder like "values-en-rUS" this would be "en-rUS").qualifierString
- the qualifier stringpublic static int getQualifierCount()
ResourceQualifier
that make up a Folder configuration.public void set(@Nullable FolderConfiguration config)
This is equivalent to set(config, false)
config
- the configuration to setset(FolderConfiguration, boolean)
public void set(@Nullable FolderConfiguration config, boolean nonFakeValuesOnly)
config
- the configuration to setnonFakeValuesOnly
- if set to true this ignore qualifiers for which the
current value is a fake value.ResourceQualifier.hasFakeValue()
public void reset()
This makes qualifiers at all indices null
.
public void substract(@NonNull FolderConfiguration config)
public void add(@NonNull FolderConfiguration config)
@Nullable public ResourceQualifier getInvalidQualifier()
null
if they are all valid (or if none
exists).public void addQualifier(@Nullable ResourceQualifier qualifier)
FolderConfiguration
qualifier
- the ResourceQualifier
to add.public void removeQualifier(@NonNull ResourceQualifier qualifier)
FolderConfiguration
.qualifier
- the ResourceQualifier
to remove.@Nullable public ResourceQualifier getQualifier(int index)
getQualifierCount()
.index
- the index of the qualifier to return.public void setCountryCodeQualifier(CountryCodeQualifier qualifier)
@Nullable public CountryCodeQualifier getCountryCodeQualifier()
public void setNetworkCodeQualifier(NetworkCodeQualifier qualifier)
@Nullable public NetworkCodeQualifier getNetworkCodeQualifier()
public void setLocaleQualifier(LocaleQualifier qualifier)
@Nullable public LocaleQualifier getLocaleQualifier()
public void setLayoutDirectionQualifier(LayoutDirectionQualifier qualifier)
@Nullable public LayoutDirectionQualifier getLayoutDirectionQualifier()
public void setSmallestScreenWidthQualifier(SmallestScreenWidthQualifier qualifier)
@Nullable public SmallestScreenWidthQualifier getSmallestScreenWidthQualifier()
public void setScreenWidthQualifier(ScreenWidthQualifier qualifier)
@Nullable public ScreenWidthQualifier getScreenWidthQualifier()
public void setScreenHeightQualifier(ScreenHeightQualifier qualifier)
@Nullable public ScreenHeightQualifier getScreenHeightQualifier()
public void setScreenSizeQualifier(ScreenSizeQualifier qualifier)
@Nullable public ScreenSizeQualifier getScreenSizeQualifier()
public void setScreenRatioQualifier(ScreenRatioQualifier qualifier)
@Nullable public ScreenRatioQualifier getScreenRatioQualifier()
public void setScreenRoundQualifier(ScreenRoundQualifier qualifier)
@Nullable public ScreenRoundQualifier getScreenRoundQualifier()
public void setWideColorGamutQualifier(WideGamutColorQualifier qualifier)
@Nullable public WideGamutColorQualifier getWideColorGamutQualifier()
public void setHighDynamicRangeQualifier(HighDynamicRangeQualifier qualifier)
@Nullable public HighDynamicRangeQualifier getHighDynamicRangeQualifier()
public void setScreenOrientationQualifier(ScreenOrientationQualifier qualifier)
@Nullable public ScreenOrientationQualifier getScreenOrientationQualifier()
public void setUiModeQualifier(UiModeQualifier qualifier)
@Nullable public UiModeQualifier getUiModeQualifier()
public void setNightModeQualifier(NightModeQualifier qualifier)
@Nullable public NightModeQualifier getNightModeQualifier()
public void setDensityQualifier(DensityQualifier qualifier)
@Nullable public DensityQualifier getDensityQualifier()
public void setTouchTypeQualifier(TouchScreenQualifier qualifier)
@Nullable public TouchScreenQualifier getTouchTypeQualifier()
public void setKeyboardStateQualifier(KeyboardStateQualifier qualifier)
@Nullable public KeyboardStateQualifier getKeyboardStateQualifier()
public void setTextInputMethodQualifier(TextInputMethodQualifier qualifier)
@Nullable public TextInputMethodQualifier getTextInputMethodQualifier()
public void setNavigationStateQualifier(NavigationStateQualifier qualifier)
@Nullable public NavigationStateQualifier getNavigationStateQualifier()
public void setNavigationMethodQualifier(NavigationMethodQualifier qualifier)
@Nullable public NavigationMethodQualifier getNavigationMethodQualifier()
public void setScreenDimensionQualifier(ScreenDimensionQualifier qualifier)
@Nullable public ScreenDimensionQualifier getScreenDimensionQualifier()
public void setVersionQualifier(VersionQualifier qualifier)
@Nullable public VersionQualifier getVersionQualifier()
public void normalize()
public void updateScreenWidthAndHeight()
SmallestScreenWidthQualifier
, ScreenWidthQualifier
, and
ScreenHeightQualifier
based on the (required) values of
ScreenDimensionQualifier
DensityQualifier
, and
ScreenOrientationQualifier
.
Also the density cannot be Density.NODPI
as it's not valid on a device.public boolean equals(java.lang.Object obj)
equals
in class java.lang.Object
public int hashCode()
hashCode
in class java.lang.Object
public boolean isDefault()
@NonNull public java.lang.String getFolderName(@NonNull com.android.resources.ResourceFolderType folder)
@NonNull public java.lang.String getUniqueKey()
@NonNull public java.lang.String getQualifierString()
@NonNull public java.lang.String toString()
toDisplayString()
.toString
in class java.lang.Object
@NonNull public java.lang.String toDisplayString()
@NonNull public java.lang.String toShortDisplayString()
public int compareTo(@NonNull FolderConfiguration folderConfig)
compareTo
in interface java.lang.Comparable<FolderConfiguration>
@Nullable public <T extends Configurable> T findMatchingConfigurable(@Nullable java.util.List<T> configurables)
Configurable
for this configuration.configurables
- the list of Configurable
to choose from.Configurable
or null.
See http://d.android.com/guide/topics/resources/resources-i18n.html#best-match@NonNull public <T extends Configurable> java.util.List<T> findMatchingConfigurables(@Nullable java.util.List<T> configurables)
Configurable
s as possible. It skips the
ResourceQualifier
if it's not valid and assumes that all resources match it.configurables
- the list of Configurable
to choose from.public boolean isMatchFor(@Nullable FolderConfiguration referenceConfig)
A match means that, for each qualifier of this config
referenceConfig
- The reference configuration to test against.public int getHighestPriorityQualifier(int startIndex)
ResourceQualifier
starting at index
startIndexpublic void createDefault()
This creates qualifiers with no values for all indices.
@NonNull public ResourceQualifier[] getQualifiers()