public final class FolderConfiguration extends java.lang.Object implements java.lang.Comparable<FolderConfiguration>
| 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() |
| Modifier and Type | Method and Description |
|---|---|
void |
add(FolderConfiguration config)
Adds the non-qualifiers from the given config.
|
void |
addQualifier(ResourceQualifier qualifier)
Adds a qualifier to the
FolderConfiguration |
int |
compareTo(FolderConfiguration folderConfig) |
static FolderConfiguration |
copyOf(FolderConfiguration original)
Creates a copy of the given
FolderConfiguration, that can be modified without
affecting the original. |
void |
createDefault()
Create default qualifiers.
|
boolean |
equals(java.lang.Object obj)
Returns whether an object is equals to the receiver.
|
<T extends Configurable> |
findMatchingConfigurable(java.util.List<T> configurables)
Returns the best matching
Configurable for this configuration. |
<T extends Configurable> |
findMatchingConfigurables(java.util.List<T> configurables)
Tries to eliminate as many
Configurables as possible. |
static FolderConfiguration |
getConfig(java.lang.Iterable<java.lang.String> folderSegments)
Creates a
FolderConfiguration matching the folder segments. |
static FolderConfiguration |
getConfig(java.lang.String[] folderSegments)
Creates a
FolderConfiguration matching the folder segments. |
static FolderConfiguration |
getConfigForFolder(java.lang.String folderName)
Creates a
FolderConfiguration matching the given folder name. |
static FolderConfiguration |
getConfigForQualifierString(java.lang.String qualifierString)
Creates a
FolderConfiguration matching the given qualifier string
(just the qualifiers; e.g. |
static FolderConfiguration |
getConfigFromQualifiers(java.lang.Iterable<java.lang.String> qualifiers)
Creates a
FolderConfiguration matching the qualifiers. |
static FolderConfiguration |
getConfigFromQualifiers(java.util.Iterator<java.lang.String> qualifiers)
Creates a
FolderConfiguration matching the qualifiers. |
CountryCodeQualifier |
getCountryCodeQualifier() |
DensityQualifier |
getDensityQualifier() |
java.lang.String |
getFolderName(com.android.resources.ResourceFolderType folder)
Returns the name of a folder with the configuration.
|
int |
getHighestPriorityQualifier(int startIndex)
Returns the index of the first non null
ResourceQualifier starting at index
startIndex |
ResourceQualifier |
getInvalidQualifier()
Returns the first invalid qualifier, or
null if they are all valid (or if none
exists). |
KeyboardStateQualifier |
getKeyboardStateQualifier() |
LayoutDirectionQualifier |
getLayoutDirectionQualifier() |
LocaleQualifier |
getLocaleQualifier() |
NavigationMethodQualifier |
getNavigationMethodQualifier() |
NavigationStateQualifier |
getNavigationStateQualifier() |
NetworkCodeQualifier |
getNetworkCodeQualifier() |
NightModeQualifier |
getNightModeQualifier() |
ResourceQualifier |
getQualifier(int index)
Returns a qualifier by its index.
|
static int |
getQualifierCount()
Returns the number of
ResourceQualifier that make up a Folder configuration. |
ResourceQualifier[] |
getQualifiers()
Returns an array of all the non null qualifiers.
|
java.lang.String |
getQualifierString()
Returns the folder configuration as a qualifier string, e.g.
|
ScreenDimensionQualifier |
getScreenDimensionQualifier() |
ScreenHeightQualifier |
getScreenHeightQualifier() |
ScreenOrientationQualifier |
getScreenOrientationQualifier() |
ScreenRatioQualifier |
getScreenRatioQualifier() |
ScreenRoundQualifier |
getScreenRoundQualifier() |
ScreenSizeQualifier |
getScreenSizeQualifier() |
ScreenWidthQualifier |
getScreenWidthQualifier() |
SmallestScreenWidthQualifier |
getSmallestScreenWidthQualifier() |
TextInputMethodQualifier |
getTextInputMethodQualifier() |
TouchScreenQualifier |
getTouchTypeQualifier() |
UiModeQualifier |
getUiModeQualifier() |
java.lang.String |
getUniqueKey()
Returns the folder configuration as a unique key
|
VersionQualifier |
getVersionQualifier() |
int |
hashCode() |
boolean |
isDefault()
Returns whether the Configuration has only default values.
|
boolean |
isMatchFor(FolderConfiguration referenceConfig)
Returns whether the configuration is a match for the given reference config.
|
void |
normalize()
Normalize a folder configuration based on the API level of its qualifiers
|
void |
removeQualifier(ResourceQualifier qualifier)
Removes a given qualifier from the
FolderConfiguration. |
void |
reset()
Reset the config.
|
void |
set(FolderConfiguration config)
Sets the config from the qualifiers of a given config.
|
void |
set(FolderConfiguration config,
boolean nonFakeValuesOnly)
Sets the config from the qualifiers of a given config.
|
void |
setCountryCodeQualifier(CountryCodeQualifier qualifier) |
void |
setDensityQualifier(DensityQualifier qualifier) |
void |
setKeyboardStateQualifier(KeyboardStateQualifier qualifier) |
void |
setLayoutDirectionQualifier(LayoutDirectionQualifier qualifier) |
void |
setLocaleQualifier(LocaleQualifier qualifier) |
void |
setNavigationMethodQualifier(NavigationMethodQualifier qualifier) |
void |
setNavigationStateQualifier(NavigationStateQualifier qualifier) |
void |
setNetworkCodeQualifier(NetworkCodeQualifier qualifier) |
void |
setNightModeQualifier(NightModeQualifier qualifier) |
void |
setScreenDimensionQualifier(ScreenDimensionQualifier qualifier) |
void |
setScreenHeightQualifier(ScreenHeightQualifier qualifier) |
void |
setScreenOrientationQualifier(ScreenOrientationQualifier qualifier) |
void |
setScreenRatioQualifier(ScreenRatioQualifier qualifier) |
void |
setScreenRoundQualifier(ScreenRoundQualifier qualifier) |
void |
setScreenSizeQualifier(ScreenSizeQualifier qualifier) |
void |
setScreenWidthQualifier(ScreenWidthQualifier qualifier) |
void |
setSmallestScreenWidthQualifier(SmallestScreenWidthQualifier qualifier) |
void |
setTextInputMethodQualifier(TextInputMethodQualifier qualifier) |
void |
setTouchTypeQualifier(TouchScreenQualifier qualifier) |
void |
setUiModeQualifier(UiModeQualifier qualifier) |
void |
setVersionQualifier(VersionQualifier qualifier) |
void |
substract(FolderConfiguration config)
Removes the qualifiers from the receiver if they are present (and valid)
in the given configuration.
|
java.lang.String |
toDisplayString()
Returns a string valid for display purpose.
|
java.lang.String |
toShortDisplayString()
Returns a string for display purposes which uses only the short names of the qualifiers
|
java.lang.String |
toString()
Returns
toDisplayString(). |
void |
updateScreenWidthAndHeight()
Updates the
SmallestScreenWidthQualifier, ScreenWidthQualifier, and
ScreenHeightQualifier based on the (required) values of
ScreenDimensionQualifier DensityQualifier, and
ScreenOrientationQualifier. |
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)
FolderConfigurationqualifier - 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 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.Objectpublic int hashCode()
hashCode in class java.lang.Objectpublic 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)
Configurables 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()