Fix missing TypedArray.recycle calls
Change-Id: I333e55b4e7925dac5495e2e73ac57ffcef4fabb4
diff --git a/java/src/com/android/inputmethod/keyboard/LatinKeyboard.java b/java/src/com/android/inputmethod/keyboard/LatinKeyboard.java
index c51f184..7620396 100644
--- a/java/src/com/android/inputmethod/keyboard/LatinKeyboard.java
+++ b/java/src/com/android/inputmethod/keyboard/LatinKeyboard.java
@@ -38,7 +38,6 @@
import com.android.inputmethod.latin.SubtypeSwitcher;
import com.android.inputmethod.latin.Utils;
-import java.lang.ref.SoftReference;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Locale;
@@ -329,10 +328,12 @@
Math.max(0, Math.min(y, mOccupiedHeight - 1)));
}
+ private static final int[] ATTR_TEXT_SIZE = { android.R.attr.textSize };
+
public static int getTextSizeFromTheme(Theme theme, int style, int defValue) {
- TypedArray array = theme.obtainStyledAttributes(
- style, new int[] { android.R.attr.textSize });
- int textSize = array.getDimensionPixelSize(array.getResourceId(0, 0), defValue);
+ final TypedArray a = theme.obtainStyledAttributes(style, ATTR_TEXT_SIZE);
+ final int textSize = a.getDimensionPixelSize(a.getResourceId(0, 0), defValue);
+ a.recycle();
return textSize;
}
}
diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeyboardBuilder.java b/java/src/com/android/inputmethod/keyboard/internal/KeyboardBuilder.java
index 613ce58..c2e96f8 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/KeyboardBuilder.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/KeyboardBuilder.java
@@ -323,7 +323,10 @@
if (TAG_KEYBOARD.equals(tag)) {
final TypedArray keyboardAttr = res.obtainAttributes(Xml.asAttributeSet(parser),
R.styleable.Keyboard);
- return keyboardAttr.getString(R.styleable.Keyboard_keyboardLocale);
+ final String locale = keyboardAttr.getString(
+ R.styleable.Keyboard_keyboardLocale);
+ keyboardAttr.recycle();
+ return locale;
} else {
throw new IllegalStartTag(parser, TAG_KEYBOARD);
}