summaryrefslogtreecommitdiff
path: root/java/com/android/dialer/database
diff options
context:
space:
mode:
authorlinyuh <linyuh@google.com>2017-12-28 09:58:34 -0800
committerCopybara-Service <copybara-piper@google.com>2017-12-28 09:59:34 -0800
commitc9b358122aeee2bb5feb4bae1e16509e492e2da6 (patch)
treeeed74a187b96beee61afd19856d12cbd8d6d6c90 /java/com/android/dialer/database
parent281998c825ad48d842bb653e2f462719fdb0c1d9 (diff)
Allow language change to take effect in T9 search without relaunching Dialer.
Bug: 30215380,70633239,70856260 Test: Manual PiperOrigin-RevId: 180276925 Change-Id: Ia0a7c435e48303781917bf0cc2e69995ee652ad9
Diffstat (limited to 'java/com/android/dialer/database')
-rw-r--r--java/com/android/dialer/database/DialerDatabaseHelper.java23
1 files changed, 15 insertions, 8 deletions
diff --git a/java/com/android/dialer/database/DialerDatabaseHelper.java b/java/com/android/dialer/database/DialerDatabaseHelper.java
index d12b4e8bd..bc70fa46f 100644
--- a/java/com/android/dialer/database/DialerDatabaseHelper.java
+++ b/java/com/android/dialer/database/DialerDatabaseHelper.java
@@ -331,14 +331,18 @@ public class DialerDatabaseHelper extends SQLiteOpenHelper {
editor.apply();
}
- /** Starts the database upgrade process in the background. */
- public void startSmartDialUpdateThread() {
+ /**
+ * Starts the database upgrade process in the background.
+ *
+ * @see #updateSmartDialDatabase(boolean) for the usage of {@code forceUpdate}.
+ */
+ public void startSmartDialUpdateThread(boolean forceUpdate) {
if (PermissionsUtil.hasContactsReadPermissions(context)) {
DialerExecutorComponent.get(context)
.dialerExecutorFactory()
.createNonUiTaskBuilder(new UpdateSmartDialWorker())
.build()
- .executeParallel(null);
+ .executeParallel(forceUpdate);
}
}
@@ -599,9 +603,11 @@ public class DialerDatabaseHelper extends SQLiteOpenHelper {
* contacts since last update, and updates the records in smartdial database and prefix database
* accordingly. It also queries the deleted contact database to remove newly deleted contacts
* since last update.
+ *
+ * @param forceUpdate If set to true, update the database by reloading all contacts.
*/
@WorkerThread
- public synchronized void updateSmartDialDatabase() {
+ public synchronized void updateSmartDialDatabase(boolean forceUpdate) {
LogUtil.enterBlock("DialerDatabaseHelper.updateSmartDialDatabase");
final SQLiteDatabase db = getWritableDatabase();
@@ -613,7 +619,8 @@ public class DialerDatabaseHelper extends SQLiteOpenHelper {
final SharedPreferences databaseLastUpdateSharedPref =
context.getSharedPreferences(DATABASE_LAST_CREATED_SHARED_PREF, Context.MODE_PRIVATE);
final String lastUpdateMillis =
- String.valueOf(databaseLastUpdateSharedPref.getLong(LAST_UPDATED_MILLIS, 0));
+ String.valueOf(
+ forceUpdate ? 0 : databaseLastUpdateSharedPref.getLong(LAST_UPDATED_MILLIS, 0));
LogUtil.v(
"DialerDatabaseHelper.updateSmartDialDatabase", "last updated at " + lastUpdateMillis);
@@ -1235,12 +1242,12 @@ public class DialerDatabaseHelper extends SQLiteOpenHelper {
}
}
- private class UpdateSmartDialWorker implements Worker<Void, Void> {
+ private class UpdateSmartDialWorker implements Worker<Boolean, Void> {
@Nullable
@Override
- public Void doInBackground(@Nullable Void input) throws Throwable {
- updateSmartDialDatabase();
+ public Void doInBackground(Boolean forceUpdate) throws Throwable {
+ updateSmartDialDatabase(forceUpdate);
return null;
}
}