From 8f3f6830f2693647034e8df974d67f6b50d01602 Mon Sep 17 00:00:00 2001 From: Adrian Roos Date: Mon, 28 Apr 2014 15:45:52 +0200 Subject: [PATCH] Sanity check screenId before persisting ItemInfo. Bug: 13447571 Change-Id: I014dcf1eb313c2312953716fb53e542caaeb285b --- src/com/android/launcher3/ItemInfo.java | 7 ++++++- src/com/android/launcher3/Workspace.java | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/com/android/launcher3/ItemInfo.java b/src/com/android/launcher3/ItemInfo.java index 9ac9edfbc..12bbee780 100644 --- a/src/com/android/launcher3/ItemInfo.java +++ b/src/com/android/launcher3/ItemInfo.java @@ -132,7 +132,7 @@ public class ItemInfo { * * @param values */ - void onAddToDatabase(ContentValues values) { + void onAddToDatabase(ContentValues values) { values.put(LauncherSettings.BaseLauncherColumns.ITEM_TYPE, itemType); values.put(LauncherSettings.Favorites.CONTAINER, container); values.put(LauncherSettings.Favorites.SCREEN, screenId); @@ -140,6 +140,11 @@ public class ItemInfo { values.put(LauncherSettings.Favorites.CELLY, cellY); values.put(LauncherSettings.Favorites.SPANX, spanX); values.put(LauncherSettings.Favorites.SPANY, spanY); + + if (screenId == Workspace.EXTRA_EMPTY_SCREEN_ID) { + // We should never persist an item on the extra empty screen. + throw new RuntimeException("Screen id should not be EXTRA_EMPTY_SCREEN_ID"); + } } void updateValuesWithCoordinates(ContentValues values, int cellX, int cellY) { diff --git a/src/com/android/launcher3/Workspace.java b/src/com/android/launcher3/Workspace.java index 2c57422c5..f7ca141a7 100644 --- a/src/com/android/launcher3/Workspace.java +++ b/src/com/android/launcher3/Workspace.java @@ -126,7 +126,7 @@ public class Workspace extends SmoothPagedView private static boolean sAccessibilityEnabled; // The screen id used for the empty screen always present to the right. - private final static long EXTRA_EMPTY_SCREEN_ID = -201; + final static long EXTRA_EMPTY_SCREEN_ID = -201; private final static long CUSTOM_CONTENT_SCREEN_ID = -301; private HashMap mWorkspaceScreens = new HashMap(); -- 2.11.0