Merge "Avoid leaking AssetFileDescriptor."
diff --git a/java/src/com/android/inputmethod/latin/BinaryDictionaryGetter.java b/java/src/com/android/inputmethod/latin/BinaryDictionaryGetter.java
index ddd72f1..05c91a6 100644
--- a/java/src/com/android/inputmethod/latin/BinaryDictionaryGetter.java
+++ b/java/src/com/android/inputmethod/latin/BinaryDictionaryGetter.java
@@ -95,8 +95,16 @@
                     + fallbackResId);
             return null;
         }
-        return AssetFileAddress.makeFromFileNameAndOffset(
-                context.getApplicationInfo().sourceDir, afd.getStartOffset(), afd.getLength());
+        try {
+            return AssetFileAddress.makeFromFileNameAndOffset(
+                    context.getApplicationInfo().sourceDir, afd.getStartOffset(), afd.getLength());
+        } finally {
+            try {
+                afd.close();
+            } catch (IOException e) {
+                // Ignored
+            }
+        }
     }
 
     private static final class DictPackSettings {