summaryrefslogtreecommitdiffstats
path: root/tools/layoutlib/create/src/com/android
diff options
context:
space:
mode:
authorDeepanshu Gupta <deepanshu@google.com>2015-08-04 16:17:46 -0700
committerDeepanshu Gupta <deepanshu@google.com>2015-08-06 16:03:19 -0700
commit82c7fdb1f6346862de373c95c618e370f81d8df6 (patch)
tree457e98df11bbf104526d0632d948957ca92002ec /tools/layoutlib/create/src/com/android
parent0437cac76c24dc6cac7b530e6d80f789565550ec (diff)
downloadframeworks_base-82c7fdb1f6346862de373c95c618e370f81d8df6.zip
frameworks_base-82c7fdb1f6346862de373c95c618e370f81d8df6.tar.gz
frameworks_base-82c7fdb1f6346862de373c95c618e370f81d8df6.tar.bz2
Replace Locale.getDefault with custom impl.
In LayoutLib the default locale should always be the locale set the rendering params. This change replaces all calls to Locale.getDefault in the framework with calls to AndroidLocale.getDefault() which tries to find the locale from the current context, but falls back to the original call. Change-Id: I496b35dcfc17fd61fedee21c7495541ab870b1fc
Diffstat (limited to 'tools/layoutlib/create/src/com/android')
-rw-r--r--tools/layoutlib/create/src/com/android/tools/layoutlib/create/ReplaceMethodCallsAdapter.java8
1 files changed, 6 insertions, 2 deletions
diff --git a/tools/layoutlib/create/src/com/android/tools/layoutlib/create/ReplaceMethodCallsAdapter.java b/tools/layoutlib/create/src/com/android/tools/layoutlib/create/ReplaceMethodCallsAdapter.java
index 4369148..0b85c48 100644
--- a/tools/layoutlib/create/src/com/android/tools/layoutlib/create/ReplaceMethodCallsAdapter.java
+++ b/tools/layoutlib/create/src/com/android/tools/layoutlib/create/ReplaceMethodCallsAdapter.java
@@ -93,18 +93,22 @@ public class ReplaceMethodCallsAdapter extends ClassVisitor {
}
});
- // Case 3: java.util.Locale.adjustLanguageCode() or java.util.Locale.forLanguageTag()
+ // Case 3: java.util.Locale.adjustLanguageCode() or java.util.Locale.forLanguageTag() or
+ // java.util.Locale.getDefault()
METHOD_REPLACERS.add(new MethodReplacer() {
private final String STRING_TO_STRING = Type.getMethodDescriptor(STRING, STRING);
private final String STRING_TO_LOCALE = Type.getMethodDescriptor(
Type.getType(Locale.class), STRING);
+ private final String VOID_TO_LOCALE =
+ Type.getMethodDescriptor(Type.getType(Locale.class));
@Override
public boolean isNeeded(String owner, String name, String desc, String sourceClass) {
return JAVA_LOCALE_CLASS.equals(owner) &&
("adjustLanguageCode".equals(name) && desc.equals(STRING_TO_STRING) ||
- "forLanguageTag".equals(name) && desc.equals(STRING_TO_LOCALE));
+ "forLanguageTag".equals(name) && desc.equals(STRING_TO_LOCALE) ||
+ "getDefault".equals(name) && desc.equals(VOID_TO_LOCALE));
}
@Override