diff options
author | 2015-05-04 11:57:31 -0700 | |
---|---|---|
committer | 2015-05-04 11:57:31 -0700 | |
commit | a0d9c82921022347e44d416bb57810331e35e446 (patch) | |
tree | 77974631941ea26edc47a73c0afdd64e6664980e /java/src/com/android/inputmethod/dictionarypack | |
parent | 459b4f353e6138b644c1f06de68e93532ee0d856 (diff) | |
download | latinime-a0d9c82921022347e44d416bb57810331e35e446.tar.gz latinime-a0d9c82921022347e44d416bb57810331e35e446.tar.xz latinime-a0d9c82921022347e44d416bb57810331e35e446.zip |
Make the DictionaryService stage the downloaded files
Bug: 20641948
Change-Id: I6639c995b12c033bc30241cd219201dd483ee516
Diffstat (limited to 'java/src/com/android/inputmethod/dictionarypack')
-rw-r--r-- | java/src/com/android/inputmethod/dictionarypack/ActionBatch.java | 10 | ||||
-rw-r--r-- | java/src/com/android/inputmethod/dictionarypack/UpdateHandler.java | 2 |
2 files changed, 12 insertions, 0 deletions
diff --git a/java/src/com/android/inputmethod/dictionarypack/ActionBatch.java b/java/src/com/android/inputmethod/dictionarypack/ActionBatch.java index 09f8032cc..ee5106b5a 100644 --- a/java/src/com/android/inputmethod/dictionarypack/ActionBatch.java +++ b/java/src/com/android/inputmethod/dictionarypack/ActionBatch.java @@ -26,7 +26,9 @@ import android.text.TextUtils; import android.util.Log; import com.android.inputmethod.compat.DownloadManagerCompatUtils; +import com.android.inputmethod.latin.BinaryDictionaryFileDumper; import com.android.inputmethod.latin.R; +import com.android.inputmethod.latin.common.LocaleUtils; import com.android.inputmethod.latin.utils.ApplicationUtils; import com.android.inputmethod.latin.utils.DebugLogUtils; @@ -210,9 +212,17 @@ public final class ActionBatch { + " for an InstallAfterDownload action. Bailing out."); return; } + DebugLogUtils.l("Setting word list as installed"); final SQLiteDatabase db = MetadataDbHelper.getDb(context, mClientId); MetadataDbHelper.markEntryAsFinishedDownloadingAndInstalled(db, mWordListValues); + + // Install the downloaded file by un-compressing and moving it to the staging + // directory. Ideally, we should do this before updating the DB, but the + // installDictToStagingFromContentProvider() relies on the db being updated. + final String localeString = mWordListValues.getAsString(MetadataDbHelper.LOCALE_COLUMN); + BinaryDictionaryFileDumper.installDictToStagingFromContentProvider( + LocaleUtils.constructLocaleFromString(localeString), context, false); } } diff --git a/java/src/com/android/inputmethod/dictionarypack/UpdateHandler.java b/java/src/com/android/inputmethod/dictionarypack/UpdateHandler.java index e61547a9d..6570171a6 100644 --- a/java/src/com/android/inputmethod/dictionarypack/UpdateHandler.java +++ b/java/src/com/android/inputmethod/dictionarypack/UpdateHandler.java @@ -592,6 +592,8 @@ public final class UpdateHandler { * Warn Android Keyboard that the state of dictionaries changed and it should refresh its data. */ private static void signalNewDictionaryState(final Context context) { + // TODO: Also provide the locale of the updated dictionary so that the LatinIme + // does not have to reset if it is a different locale. final Intent newDictBroadcast = new Intent(DictionaryPackConstants.NEW_DICTIONARY_INTENT_ACTION); context.sendBroadcast(newDictBroadcast); |