aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/tools/android/java/com/google/devtools/build/android/FullyQualifiedName.java
diff options
context:
space:
mode:
authorGravatar corysmith <corysmith@google.com>2018-05-08 08:25:10 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-05-08 08:26:27 -0700
commite3784eccef5ff6b1db35186e763a2b3d1dd3ef54 (patch)
tree13d5f3f41bf0e533bd9f0fdf6f8062986a0f7b76 /src/tools/android/java/com/google/devtools/build/android/FullyQualifiedName.java
parent0a502ff58810d1093dffeafa7baf120f02ab29c3 (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.java22
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