diff options
author | corysmith <corysmith@google.com> | 2018-05-08 08:25:10 -0700 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2018-05-08 08:26:27 -0700 |
commit | e3784eccef5ff6b1db35186e763a2b3d1dd3ef54 (patch) | |
tree | 13d5f3f41bf0e533bd9f0fdf6f8062986a0f7b76 /src/tools/android/java/com/google/devtools/build/android/FullyQualifiedName.java | |
parent | 0a502ff58810d1093dffeafa7baf120f02ab29c3 (diff) |
Generate a separate psuedo locale .flat file only for default locale on values resources.
RELNOTES:None
PiperOrigin-RevId: 195821595
Diffstat (limited to 'src/tools/android/java/com/google/devtools/build/android/FullyQualifiedName.java')
-rw-r--r-- | src/tools/android/java/com/google/devtools/build/android/FullyQualifiedName.java | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/src/tools/android/java/com/google/devtools/build/android/FullyQualifiedName.java b/src/tools/android/java/com/google/devtools/build/android/FullyQualifiedName.java index 64fbab796a..e29361ab74 100644 --- a/src/tools/android/java/com/google/devtools/build/android/FullyQualifiedName.java +++ b/src/tools/android/java/com/google/devtools/build/android/FullyQualifiedName.java @@ -486,7 +486,8 @@ public class FullyQualifiedName implements DataKey { /** Represents the configuration qualifiers in a resource directory. */ public static class Qualifiers { - private static final Qualifiers EMPTY_QUALIFIERS = new Qualifiers(null, ImmutableList.of()); + private static final Qualifiers EMPTY_QUALIFIERS = + new Qualifiers(null, ImmutableList.of(), false); // Qualifiers are reasonably expensive to create, so cache them on directory names. private static final ConcurrentMap<String, Qualifiers> qualifierCache = @@ -495,10 +496,13 @@ public class FullyQualifiedName implements DataKey { public static final String INVALID_QUALIFIERS = "%s contains invalid qualifiers."; private final ResourceFolderType folderType; private final ImmutableList<String> qualifiers; + private boolean defaultLocale; - private Qualifiers(ResourceFolderType folderType, ImmutableList<String> qualifiers) { + private Qualifiers( + ResourceFolderType folderType, ImmutableList<String> qualifiers, boolean defaultLocale) { this.folderType = folderType; this.qualifiers = qualifiers; + this.defaultLocale = defaultLocale; } public static Qualifiers parseFrom(String directoryName) { @@ -559,7 +563,7 @@ public class FullyQualifiedName implements DataKey { for (int i = 0; i < FolderConfiguration.getQualifierCount(); ++i) { addIfNotNull(config.getQualifier(i), builder); } - return new Qualifiers(folderType, builder.build()); + return new Qualifiers(folderType, builder.build(), config.getLocaleQualifier() == null); } private static void addIfNotNull( @@ -578,9 +582,15 @@ public class FullyQualifiedName implements DataKey { return folderType; } + /** Creates a Qualifiers assuming that they are in the values directory. */ @VisibleForTesting - public static Qualifiers fromList(List<String> qualifiers) { - return new Qualifiers(null, ImmutableList.copyOf(qualifiers)); + public static Qualifiers forValuesFolderFrom(List<String> qualifiers) { + return Qualifiers.getQualifiers( + ImmutableList.builder().add("values").addAll(qualifiers).build().toArray(new String[0])); + } + + public boolean containDefaultLocale() { + return defaultLocale; } } @@ -636,7 +646,7 @@ public class FullyQualifiedName implements DataKey { @VisibleForTesting public static Factory from(List<String> qualifiers, String pkg) { - return using(Qualifiers.fromList(qualifiers), pkg); + return using(Qualifiers.forValuesFolderFrom(qualifiers), pkg); } @VisibleForTesting |