From acad5e51e4bdacd1c53ffdf6ffccf2d72b4f80e1 Mon Sep 17 00:00:00 2001 From: Suphon Thanakornpakapong Date: Tue, 2 Nov 2021 12:41:10 +0700 Subject: [PATCH] Re-initialize max ids after changing grid size --- src/com/android/launcher3/LauncherProvider.java | 9 +++++++++ src/com/android/launcher3/LauncherSettings.java | 2 ++ .../android/launcher3/model/GridSizeMigrationTaskV2.java | 5 +++++ 3 files changed, 16 insertions(+) diff --git a/src/com/android/launcher3/LauncherProvider.java b/src/com/android/launcher3/LauncherProvider.java index 4d7125a1b4..2dd7b89be0 100644 --- a/src/com/android/launcher3/LauncherProvider.java +++ b/src/com/android/launcher3/LauncherProvider.java @@ -452,6 +452,10 @@ public class LauncherProvider extends ContentProvider { } return null; } + case LauncherSettings.Settings.METHOD_RE_INITIALIZE_IDS: { + mOpenHelper.reInitIds(); + return null; + } case LauncherSettings.Settings.METHOD_PREP_FOR_PREVIEW: { if (MULTI_DB_GRID_MIRATION_ALGO.get()) { Bundle result = new Bundle(); @@ -704,6 +708,11 @@ public class LauncherProvider extends ContentProvider { } } + protected void reInitIds() { + mMaxItemId = initializeMaxItemId(getWritableDatabase()); + mMaxScreenId = initializeMaxScreenId(getWritableDatabase()); + } + @Override public void onCreate(SQLiteDatabase db) { if (LOGD) Log.d(TAG, "creating new launcher database"); diff --git a/src/com/android/launcher3/LauncherSettings.java b/src/com/android/launcher3/LauncherSettings.java index d663480a35..3be2132760 100644 --- a/src/com/android/launcher3/LauncherSettings.java +++ b/src/com/android/launcher3/LauncherSettings.java @@ -381,6 +381,8 @@ public class LauncherSettings { public static final String METHOD_UPDATE_CURRENT_OPEN_HELPER = "update_current_open_helper"; + public static final String METHOD_RE_INITIALIZE_IDS = "re_initialize_ids"; + public static final String METHOD_PREP_FOR_PREVIEW = "prep_for_preview"; public static final String METHOD_SWITCH_DATABASE = "switch_database"; diff --git a/src/com/android/launcher3/model/GridSizeMigrationTaskV2.java b/src/com/android/launcher3/model/GridSizeMigrationTaskV2.java index 09303f2450..28a41f7c23 100644 --- a/src/com/android/launcher3/model/GridSizeMigrationTaskV2.java +++ b/src/com/android/launcher3/model/GridSizeMigrationTaskV2.java @@ -205,6 +205,11 @@ public class GridSizeMigrationTaskV2 { } t.commit(); + + // reinitialize max ids + LauncherSettings.Settings.call(context.getContentResolver(), + LauncherSettings.Settings.METHOD_RE_INITIALIZE_IDS); + return true; } catch (Exception e) { Log.e(TAG, "Error during grid migration", e);