diff options
author | linyuh <linyuh@google.com> | 2017-12-28 09:58:34 -0800 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2017-12-28 09:59:34 -0800 |
commit | c9b358122aeee2bb5feb4bae1e16509e492e2da6 (patch) | |
tree | eed74a187b96beee61afd19856d12cbd8d6d6c90 /java/com/android/dialer/database | |
parent | 281998c825ad48d842bb653e2f462719fdb0c1d9 (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.java | 23 |
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; } } |