aboutsummaryrefslogtreecommitdiffstats
path: root/eclipse/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'eclipse/plugins')
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/common/layout/BaseViewRule.java12
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/common/resources/platform/AttrsXmlParser.java3
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/descriptors/DescriptorsUtils.java13
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/DomUtilities.java16
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gre/ViewMetadataRepository.java3
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/refactoring/ExtractIncludeRefactoring.java6
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/refactoring/VisualRefactoring.java3
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/ui/tree/NewItemSelectionDialog.java5
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/uimodel/UiElementNode.java3
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/project/ExportHelper.java3
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/refactorings/extractstring/ExtractStringInputPage.java3
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/ui/ResourceChooser.java3
12 files changed, 49 insertions, 24 deletions
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/common/layout/BaseViewRule.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/common/layout/BaseViewRule.java
index 6e5b287..17726d0 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/common/layout/BaseViewRule.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/common/layout/BaseViewRule.java
@@ -28,8 +28,10 @@ import static com.android.ide.common.layout.LayoutConstants.ATTR_TEXT;
import static com.android.ide.common.layout.LayoutConstants.DOT_LAYOUT_PARAMS;
import static com.android.ide.common.layout.LayoutConstants.ID_PREFIX;
import static com.android.ide.common.layout.LayoutConstants.NEW_ID_PREFIX;
+import static com.android.ide.common.layout.LayoutConstants.VALUE_FALSE;
import static com.android.ide.common.layout.LayoutConstants.VALUE_FILL_PARENT;
import static com.android.ide.common.layout.LayoutConstants.VALUE_MATCH_PARENT;
+import static com.android.ide.common.layout.LayoutConstants.VALUE_TRUE;
import static com.android.ide.common.layout.LayoutConstants.VALUE_WRAP_CONTENT;
import static com.android.ide.eclipse.adt.internal.editors.layout.descriptors.LayoutDescriptors.VIEW_FRAGMENT;
@@ -59,6 +61,7 @@ import java.util.HashMap;
import java.util.HashSet;
import java.util.LinkedList;
import java.util.List;
+import java.util.Locale;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
@@ -644,11 +647,12 @@ public class BaseViewRule extends AbstractViewRule {
// Toggles are handled as a multiple-choice between true, false
// and nothing (clear)
String value = selectedNode.getStringAttr(ANDROID_URI, id);
- if (value != null)
- value = value.toLowerCase();
- if ("true".equals(value)) { //$NON-NLS-1$
+ if (value != null) {
+ value = value.toLowerCase(Locale.US);
+ }
+ if (VALUE_TRUE.equals(value)) {
value = TRUE_ID;
- } else if ("false".equals(value)) { //$NON-NLS-1$
+ } else if (VALUE_FALSE.equals(value)) {
value = FALSE_ID;
} else {
value = CLEAR_ID;
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/common/resources/platform/AttrsXmlParser.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/common/resources/platform/AttrsXmlParser.java
index ed2fb75..abe56d8 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/common/resources/platform/AttrsXmlParser.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/common/resources/platform/AttrsXmlParser.java
@@ -31,6 +31,7 @@ import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
+import java.util.Locale;
import java.util.Map;
import java.util.Map.Entry;
import java.util.TreeSet;
@@ -475,7 +476,7 @@ public final class AttrsXmlParser {
if (attrFormat != null) {
for (String f : attrFormat.getNodeValue().split("\\|")) { //$NON-NLS-1$
try {
- Format format = AttributeInfo.Format.valueOf(f.toUpperCase());
+ Format format = AttributeInfo.Format.valueOf(f.toUpperCase(Locale.US));
// enum and flags are handled differently right below
if (format != null &&
format != AttributeInfo.Format.ENUM &&
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/descriptors/DescriptorsUtils.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/descriptors/DescriptorsUtils.java
index 4693a1e..30c7687 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/descriptors/DescriptorsUtils.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/descriptors/DescriptorsUtils.java
@@ -52,6 +52,7 @@ import org.eclipse.swt.graphics.Image;
import java.util.ArrayList;
import java.util.HashSet;
+import java.util.Locale;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
@@ -182,7 +183,7 @@ public final class DescriptorsUtils {
Format f = formats_list[i];
formats_set.add(f);
- sb.append(f.toString().toLowerCase());
+ sb.append(f.toString().toLowerCase(Locale.US));
if (i < flen - 1) {
sb.append(", "); //$NON-NLS-1$
}
@@ -862,10 +863,13 @@ public final class DescriptorsUtils {
prefix = Character.toLowerCase(prefix.charAt(0)) + prefix.substring(1);
}
+ // Note that we perform locale-independent lowercase checks; in "Image" we
+ // want the lowercase version to be "image", not "?mage" where ? is
+ // the char LATIN SMALL LETTER DOTLESS I.
do {
num++;
generated = String.format("%1$s%2$d", prefix, num); //$NON-NLS-1$
- } while (map.contains(generated.toLowerCase()));
+ } while (map.contains(generated.toLowerCase(Locale.US)));
params[0] = prefix;
params[1] = num;
@@ -876,12 +880,13 @@ public final class DescriptorsUtils {
if (id != null) {
id = id.replace(NEW_ID_PREFIX, ""); //$NON-NLS-1$
id = id.replace(ID_PREFIX, ""); //$NON-NLS-1$
- if (map.add(id.toLowerCase()) && map.contains(generated.toLowerCase())) {
+ if (map.add(id.toLowerCase(Locale.US))
+ && map.contains(generated.toLowerCase(Locale.US))) {
do {
num++;
generated = String.format("%1$s%2$d", prefix, num); //$NON-NLS-1$
- } while (map.contains(generated.toLowerCase()));
+ } while (map.contains(generated.toLowerCase(Locale.US)));
params[1] = num;
params[2] = generated;
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/DomUtilities.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/DomUtilities.java
index 0d0644f..8725fa4 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/DomUtilities.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/DomUtilities.java
@@ -49,6 +49,7 @@ import java.util.Collections;
import java.util.Comparator;
import java.util.HashSet;
import java.util.List;
+import java.util.Locale;
import java.util.Set;
import javax.xml.parsers.DocumentBuilder;
@@ -467,11 +468,12 @@ public class DomUtilities {
if (root.hasAttributeNS(ANDROID_URI, ATTR_ID)) {
String id = root.getAttributeNS(ANDROID_URI, ATTR_ID);
if (id.startsWith(NEW_ID_PREFIX)) {
- seen.add(id.substring(NEW_ID_PREFIX.length()).toLowerCase());
+ // See getFreeWidgetId for details on locale
+ seen.add(id.substring(NEW_ID_PREFIX.length()).toLowerCase(Locale.US));
} else if (id.startsWith(ID_PREFIX)) {
- seen.add(id.substring(ID_PREFIX.length()).toLowerCase());
+ seen.add(id.substring(ID_PREFIX.length()).toLowerCase(Locale.US));
} else {
- seen.add(id.toLowerCase());
+ seen.add(id.toLowerCase(Locale.US));
}
}
}
@@ -492,7 +494,11 @@ public class DomUtilities {
Set<String> ids = new HashSet<String>();
if (reserved != null) {
for (String id : reserved) {
- ids.add(id.toLowerCase());
+ // Note that we perform locale-independent lowercase checks; in "Image" we
+ // want the lowercase version to be "image", not "?mage" where ? is
+ // the char LATIN SMALL LETTER DOTLESS I.
+
+ ids.add(id.toLowerCase(Locale.US));
}
}
addLowercaseIds(element.getOwnerDocument().getDocumentElement(), ids);
@@ -504,7 +510,7 @@ public class DomUtilities {
int num = 1;
do {
generated = String.format("%1$s%2$d", prefix, num++); //$NON-NLS-1$
- } while (ids.contains(generated.toLowerCase()));
+ } while (ids.contains(generated.toLowerCase(Locale.US)));
return generated;
}
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gre/ViewMetadataRepository.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gre/ViewMetadataRepository.java
index 665a923..4096ffe 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gre/ViewMetadataRepository.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gre/ViewMetadataRepository.java
@@ -51,6 +51,7 @@ import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
+import java.util.Locale;
import java.util.Map;
import java.util.Set;
@@ -208,7 +209,7 @@ public class ViewMetadataRepository {
Document document = builder.parse(is);
Map<String, FillPreference> fillTypes = new HashMap<String, FillPreference>();
for (FillPreference pref : FillPreference.values()) {
- fillTypes.put(pref.toString().toLowerCase(), pref);
+ fillTypes.put(pref.toString().toLowerCase(Locale.US), pref);
}
NodeList categoryNodes = document.getDocumentElement().getChildNodes();
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/refactoring/ExtractIncludeRefactoring.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/refactoring/ExtractIncludeRefactoring.java
index 2e69501..039bec5 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/refactoring/ExtractIncludeRefactoring.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/refactoring/ExtractIncludeRefactoring.java
@@ -89,6 +89,7 @@ import org.w3c.dom.Node;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
+import java.util.Locale;
import java.util.Map;
/**
@@ -423,8 +424,9 @@ public class ExtractIncludeRefactoring extends VisualRefactoring {
// id null check for https://bugs.eclipse.org/bugs/show_bug.cgi?id=272378
if (id != null && (id.startsWith(ID_PREFIX) || id.startsWith(NEW_ID_PREFIX))) {
// Use everything following the id/, and make it lowercase since that is
- // the convention for layouts
- defaultName = id.substring(id.indexOf('/') + 1).toLowerCase();
+ // the convention for layouts (and use Locale.US to ensure that "Image" becomes
+ // "image" etc)
+ defaultName = id.substring(id.indexOf('/') + 1).toLowerCase(Locale.US);
IInputValidator validator = ResourceNameValidator.create(true, mProject, LAYOUT);
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/refactoring/VisualRefactoring.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/refactoring/VisualRefactoring.java
index 24140ef..315936d 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/refactoring/VisualRefactoring.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/refactoring/VisualRefactoring.java
@@ -95,6 +95,7 @@ import java.util.Comparator;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
+import java.util.Locale;
import java.util.Map;
import java.util.Set;
@@ -853,7 +854,7 @@ public abstract class VisualRefactoring extends Refactoring {
String oldTypeBase = oldType.substring(oldType.lastIndexOf('.') + 1);
String id = getId(element);
if (id == null || id.length() == 0
- || id.toLowerCase().contains(oldTypeBase.toLowerCase())) {
+ || id.toLowerCase(Locale.US).contains(oldTypeBase.toLowerCase(Locale.US))) {
String newTypeBase = newType.substring(newType.lastIndexOf('.') + 1);
return ensureHasId(rootEdit, element, newTypeBase);
}
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/ui/tree/NewItemSelectionDialog.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/ui/tree/NewItemSelectionDialog.java
index 1187f5c..d880f3d 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/ui/tree/NewItemSelectionDialog.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/ui/tree/NewItemSelectionDialog.java
@@ -40,6 +40,7 @@ import org.eclipse.ui.part.FileEditorInput;
import java.util.Arrays;
import java.util.HashMap;
+import java.util.Locale;
import java.util.Map;
import java.util.Map.Entry;
import java.util.TreeMap;
@@ -300,7 +301,7 @@ public class NewItemSelectionDialog extends AbstractElementListSelectionDialog {
String name = mInitialXmlName;
boolean partial = name.startsWith("*"); //$NON-NLS-1$
if (partial) {
- name = name.substring(1).toLowerCase();
+ name = name.substring(1).toLowerCase(Locale.US);
}
for (ElementDescriptor desc : getAllowedDescriptors(rootNode)) {
@@ -308,7 +309,7 @@ public class NewItemSelectionDialog extends AbstractElementListSelectionDialog {
initialElement = desc;
break;
} else if (partial) {
- String name2 = desc.getXmlLocalName().toLowerCase();
+ String name2 = desc.getXmlLocalName().toLowerCase(Locale.US);
if (name.startsWith(name2) || name2.startsWith(name)) {
initialElement = desc;
break;
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/uimodel/UiElementNode.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/uimodel/UiElementNode.java
index cab6601..7cf9151 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/uimodel/UiElementNode.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/uimodel/UiElementNode.java
@@ -64,6 +64,7 @@ import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
+import java.util.Locale;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
@@ -310,7 +311,7 @@ public class UiElementNode implements IPropertySource {
if (attr != null) {
// Don't append the two when it's a repeat, e.g. Button01 (Button),
// only when the ui name is not part of the attribute
- if (attr.toLowerCase().indexOf(uiName.toLowerCase()) == -1) {
+ if (attr.toLowerCase(Locale.US).indexOf(uiName.toLowerCase(Locale.US)) == -1) {
styledString.append(attr);
styledString.append(String.format(" (%1$s)", uiName),
StyledString.DECORATIONS_STYLER);
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/project/ExportHelper.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/project/ExportHelper.java
index fa97b59..1e5171c 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/project/ExportHelper.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/project/ExportHelper.java
@@ -18,6 +18,7 @@ package com.android.ide.eclipse.adt.internal.project;
import com.android.ide.eclipse.adt.AdtConstants;
import com.android.ide.eclipse.adt.AdtPlugin;
+import com.android.ide.eclipse.adt.AdtUtils;
import com.android.ide.eclipse.adt.AndroidPrintStream;
import com.android.ide.eclipse.adt.internal.build.BuildHelper;
import com.android.ide.eclipse.adt.internal.build.DexException;
@@ -336,7 +337,7 @@ public final class ExportHelper {
} else if (file.isFile()) {
// check the extension
String name = file.getName();
- if (name.toLowerCase().endsWith(AdtConstants.DOT_CLASS) == false) {
+ if (!AdtUtils.endsWith(name, AdtConstants.DOT_CLASS)) {
return;
}
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/refactorings/extractstring/ExtractStringInputPage.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/refactorings/extractstring/ExtractStringInputPage.java
index ff3f5f6..f94b20a 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/refactorings/extractstring/ExtractStringInputPage.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/refactorings/extractstring/ExtractStringInputPage.java
@@ -47,6 +47,7 @@ import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Text;
import java.util.HashMap;
+import java.util.Locale;
import java.util.Map;
import java.util.TreeSet;
import java.util.regex.Matcher;
@@ -294,7 +295,7 @@ class ExtractStringInputPage extends UserInputWizardPage {
}
// make lower case
- text = text.toLowerCase();
+ text = text.toLowerCase(Locale.US);
// everything not alphanumeric becomes an underscore
text = text.replaceAll("[^a-zA-Z0-9]+", "_"); //$NON-NLS-1$ //$NON-NLS-2$
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/ui/ResourceChooser.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/ui/ResourceChooser.java
index b424435..263cc2d 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/ui/ResourceChooser.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/ui/ResourceChooser.java
@@ -70,6 +70,7 @@ import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
+import java.util.Locale;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -153,7 +154,7 @@ public class ResourceChooser extends AbstractElementListSelectionDialog implemen
setTitle("Resource Chooser");
setMessage(String.format("Choose a %1$s resource",
- mResourceType.getDisplayName().toLowerCase()));
+ mResourceType.getDisplayName().toLowerCase(Locale.US)));
}
/**