diff --git a/src/com/android/launcher3/InvariantDeviceProfile.java b/src/com/android/launcher3/InvariantDeviceProfile.java index 4107c8fdea..fc071d7093 100644 --- a/src/com/android/launcher3/InvariantDeviceProfile.java +++ b/src/com/android/launcher3/InvariantDeviceProfile.java @@ -312,7 +312,7 @@ public class InvariantDeviceProfile { context, gridName, displayInfo, - RestoreDbTask.isPending(mPrefs), + (RestoreDbTask.isPending(mPrefs) && !Flags.oneGridSpecs()), mPrefs.get(FIXED_LANDSCAPE_MODE) ); @@ -505,6 +505,7 @@ public class InvariantDeviceProfile { * Updates the current grid, this triggers a new IDP, reloads the database and triggers a grid * migration. */ + @VisibleForTesting public void setCurrentGrid(Context context, String newGridName) { mPrefs.put(GRID_NAME, newGridName); MAIN_EXECUTOR.execute(() -> { diff --git a/src/com/android/launcher3/provider/RestoreDbTask.java b/src/com/android/launcher3/provider/RestoreDbTask.java index 34c9117f1f..0da431f007 100644 --- a/src/com/android/launcher3/provider/RestoreDbTask.java +++ b/src/com/android/launcher3/provider/RestoreDbTask.java @@ -51,6 +51,7 @@ import androidx.annotation.NonNull; import androidx.annotation.VisibleForTesting; import androidx.annotation.WorkerThread; +import com.android.launcher3.Flags; import com.android.launcher3.InvariantDeviceProfile; import com.android.launcher3.LauncherAppState; import com.android.launcher3.LauncherFiles; @@ -130,9 +131,11 @@ public class RestoreDbTask { removeOldDBs(context, oldPhoneFileName); // The idp before this contains data about the old phone, after this it becomes the idp // of the current phone. - FileLog.d(TAG, "Resetting IDP to default for restore dest device"); - idp.reset(context); - trySettingPreviousGridAsCurrent(context, idp, oldPhoneFileName, previousDbs); + if (!Flags.oneGridSpecs()) { + FileLog.d(TAG, "Resetting IDP to default for restore dest device"); + idp.reset(context); + trySettingPreviousGridAsCurrent(context, idp, oldPhoneFileName, previousDbs); + } }