diff options
author | 2013-03-18 18:40:33 +0900 | |
---|---|---|
committer | 2013-03-18 18:40:33 +0900 | |
commit | ce487bcf33be39eed4ed56e6b98603cc87fda2eb (patch) | |
tree | 6b77eddb1d7dfac3e495a6a2bf1d74b38b08bcb8 /java/src | |
parent | 620be98feb47f7dd66ce70cbdba2128737621fa3 (diff) | |
download | latinime-ce487bcf33be39eed4ed56e6b98603cc87fda2eb.tar.gz latinime-ce487bcf33be39eed4ed56e6b98603cc87fda2eb.tar.xz latinime-ce487bcf33be39eed4ed56e6b98603cc87fda2eb.zip |
Access the dictionary pack only if have INTERNET permission
Bug: 8161354
Change-Id: I68ee3acb2955a017d25666cc2dad791798f9064a
Diffstat (limited to 'java/src')
-rw-r--r-- | java/src/com/android/inputmethod/latin/BinaryDictionaryGetter.java | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/java/src/com/android/inputmethod/latin/BinaryDictionaryGetter.java b/java/src/com/android/inputmethod/latin/BinaryDictionaryGetter.java index e913f2852..94598c810 100644 --- a/java/src/com/android/inputmethod/latin/BinaryDictionaryGetter.java +++ b/java/src/com/android/inputmethod/latin/BinaryDictionaryGetter.java @@ -22,6 +22,7 @@ import com.android.inputmethod.latin.makedict.FormatSpec; import android.content.Context; import android.content.SharedPreferences; +import android.content.pm.PackageManager; import android.content.pm.PackageManager.NameNotFoundException; import android.content.res.AssetFileDescriptor; import android.util.Log; @@ -290,8 +291,13 @@ final class BinaryDictionaryGetter { // list of everything we ever cached, so we ignore the return value. // TODO: The experimental version is not supported by the Dictionary Pack Service yet if (!ProductionFlag.IS_EXPERIMENTAL) { - BinaryDictionaryFileDumper.cacheWordListsFromContentProvider(locale, context, - hasDefaultWordList); + // We need internet access to do the following. Only do this if the package actually + // has the permission. + if (context.checkCallingOrSelfPermission(android.Manifest.permission.INTERNET) + == PackageManager.PERMISSION_GRANTED) { + BinaryDictionaryFileDumper.cacheWordListsFromContentProvider(locale, context, + hasDefaultWordList); + } } final File[] cachedWordLists = getCachedWordLists(locale.toString(), context); final String mainDictId = DictionaryInfoUtils.getMainDictId(locale); |