Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a1cb5777 authored by Mohammed Althaf T's avatar Mohammed Althaf T 😊
Browse files

feat: Fix item id after migration

parent f195f9eb
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@ import android.os.UserHandle
import android.os.UserManager
import com.android.launcher3.InvariantDeviceProfile
import com.android.launcher3.LauncherProvider
import com.android.launcher3.LauncherSettings
import com.android.launcher3.LauncherSettings.Favorites.INTENT
import com.android.launcher3.LauncherSettings.Favorites.ITEM_TYPE_APPLICATION
import com.android.launcher3.LauncherSettings.Favorites.ITEM_TYPE_DEEP_SHORTCUT
@@ -223,6 +224,12 @@ object BlissDbUtils {
        val newFile = context.getDatabasePath(oldDbName + "_old")
        oldFile.renameTo(newFile)

        // Update item id after migrating
        LauncherSettings.Settings.call(
            context.contentResolver,
            LauncherSettings.Settings.METHOD_UPDATE_ITEM_ID
        )

        return true
    }

+9 −1
Original line number Diff line number Diff line
@@ -392,6 +392,10 @@ public class LauncherProvider extends ContentProvider {
                        mOpenHelper.generateNewItemId());
                return result;
            }
            case LauncherSettings.Settings.METHOD_UPDATE_ITEM_ID: {
                mOpenHelper.updateItemId();
                return null;
            }
            case LauncherSettings.Settings.METHOD_NEW_SCREEN_ID: {
                Bundle result = new Bundle();
                result.putInt(LauncherSettings.Settings.EXTRA_VALUE,
@@ -690,10 +694,14 @@ public class LauncherProvider extends ContentProvider {
            // In the case where neither onCreate nor onUpgrade gets called, we read the maxId from
            // the DB here
            if (mMaxItemId == -1) {
                mMaxItemId = initializeMaxItemId(getWritableDatabase());
                updateItemId();
            }
        }

        public void updateItemId() {
            mMaxItemId = initializeMaxItemId(getWritableDatabase());
        }

        @Override
        public void onCreate(SQLiteDatabase db) {
            if (LOGD) Log.d(TAG, "creating new launcher database");
+3 −0
Original line number Diff line number Diff line
@@ -419,6 +419,9 @@ public class LauncherSettings {
        public static final String METHOD_DELETE_EMPTY_FOLDERS = "delete_empty_folders";

        public static final String METHOD_NEW_ITEM_ID = "generate_new_item_id";

        public static final String METHOD_UPDATE_ITEM_ID = "update_item_id";

        public static final String METHOD_NEW_SCREEN_ID = "generate_new_screen_id";

        public static final String METHOD_CREATE_EMPTY_DB = "create_empty_db";