Wipe the application cache selectively

Bug: 6537051
Change-Id: I839d0a98c729f3604582946d70c0140a5cff7dcf
diff --git a/java/src/com/android/inputmethod/latin/DictionaryPackInstallBroadcastReceiver.java b/java/src/com/android/inputmethod/latin/DictionaryPackInstallBroadcastReceiver.java
index 9d30af8..9c37d76 100644
--- a/java/src/com/android/inputmethod/latin/DictionaryPackInstallBroadcastReceiver.java
+++ b/java/src/com/android/inputmethod/latin/DictionaryPackInstallBroadcastReceiver.java
@@ -51,6 +51,8 @@
             if (null == packageUri) return; // No package name : we can't do anything
             final String packageName = packageUri.getSchemeSpecificPart();
             if (null == packageName) return;
+            // TODO: do this in a more appropriate place
+            TargetApplicationGetter.removeApplicationInfoCache(packageName);
             final PackageInfo packageInfo;
             try {
                 packageInfo = manager.getPackageInfo(packageName, PackageManager.GET_PROVIDERS);
diff --git a/java/src/com/android/inputmethod/latin/TargetApplicationGetter.java b/java/src/com/android/inputmethod/latin/TargetApplicationGetter.java
index 46300b4..4fb2e97 100644
--- a/java/src/com/android/inputmethod/latin/TargetApplicationGetter.java
+++ b/java/src/com/android/inputmethod/latin/TargetApplicationGetter.java
@@ -31,7 +31,9 @@
     public static ApplicationInfo getCachedApplicationInfo(final String packageName) {
         return sCache.get(packageName);
     }
-    // TODO: Wipe the cache when new packages are installed.
+    public static void removeApplicationInfoCache(final String packageName) {
+        sCache.remove(packageName);
+    }
 
     public interface OnTargetApplicationKnownListener {
         public void onTargetApplicationKnown(final ApplicationInfo info);