aboutsummaryrefslogtreecommitdiffstats
path: root/java/src/com/android/inputmethod/dictionarypack/MetadataHandler.java
diff options
context:
space:
mode:
authorJatin Matani <jatinm@google.com>2014-09-02 11:51:25 +0900
committerJatin Matani <jatinm@google.com>2014-09-03 17:11:06 +0900
commit256b1b2a1e054773987a0672b4ac3c867a4dbd27 (patch)
tree0e5318d12030f11d100710c787e7c0198309c252 /java/src/com/android/inputmethod/dictionarypack/MetadataHandler.java
parent962c40d326eb9e63011f739bb263f43fb3182006 (diff)
downloadlatinime-256b1b2a1e054773987a0672b4ac3c867a4dbd27.tar.gz
latinime-256b1b2a1e054773987a0672b4ac3c867a4dbd27.tar.xz
latinime-256b1b2a1e054773987a0672b4ac3c867a4dbd27.zip
Attempt retry for broken dictionaries
1. Add retry count column within metadata in dictionary pack. 2. Attempt a retry for download and installation by running StartDownloadAction. 3. If the number retrial are at the threshold, we don't attempt it again. Bug: 15150487 Change-Id: I70720353e5803fccf4728c2aa798883ba75c61e5
Diffstat (limited to 'java/src/com/android/inputmethod/dictionarypack/MetadataHandler.java')
-rw-r--r--java/src/com/android/inputmethod/dictionarypack/MetadataHandler.java19
1 files changed, 19 insertions, 0 deletions
diff --git a/java/src/com/android/inputmethod/dictionarypack/MetadataHandler.java b/java/src/com/android/inputmethod/dictionarypack/MetadataHandler.java
index d66b69050..639d904a0 100644
--- a/java/src/com/android/inputmethod/dictionarypack/MetadataHandler.java
+++ b/java/src/com/android/inputmethod/dictionarypack/MetadataHandler.java
@@ -16,6 +16,7 @@
package com.android.inputmethod.dictionarypack;
+import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
@@ -55,6 +56,7 @@ public class MetadataHandler {
final int rawChecksumIndex =
results.getColumnIndex(MetadataDbHelper.RAW_CHECKSUM_COLUMN);
final int checksumIndex = results.getColumnIndex(MetadataDbHelper.CHECKSUM_COLUMN);
+ final int retryCountIndex = results.getColumnIndex(MetadataDbHelper.RETRY_COUNT_COLUMN);
final int localFilenameIndex =
results.getColumnIndex(MetadataDbHelper.LOCAL_FILENAME_COLUMN);
final int remoteFilenameIndex =
@@ -70,6 +72,7 @@ public class MetadataHandler {
results.getLong(fileSizeIndex),
results.getString(rawChecksumIndex),
results.getString(checksumIndex),
+ results.getInt(retryCountIndex),
results.getString(localFilenameIndex),
results.getString(remoteFilenameIndex),
results.getInt(versionIndex),
@@ -102,6 +105,22 @@ public class MetadataHandler {
}
/**
+ * Gets the metadata, for a specific dictionary.
+ *
+ * @param context The context to open files over.
+ * @param clientId the client id for retrieving the database. null for default (deprecated).
+ * @param wordListId the word list ID.
+ * @param version the word list version.
+ * @return the current metaData
+ */
+ public static WordListMetadata getCurrentMetadataForWordList(final Context context,
+ final String clientId, final String wordListId, final int version) {
+ final ContentValues contentValues = MetadataDbHelper.getContentValuesByWordListId(
+ MetadataDbHelper.getDb(context, clientId), wordListId, version);
+ return WordListMetadata.createFromContentValues(contentValues);
+ }
+
+ /**
* Read metadata from a stream.
* @param input The stream to read from.
* @return The read metadata.