diff --git a/res/values/strings.xml b/res/values/strings.xml
index 19d363c..04e45ae 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -261,4 +261,17 @@
     <string name="folder_renamed">Folder renamed to <xliff:g id="name" example="Games">%1$s</xliff:g></string>
     <!-- Folder name format -->
     <string name="folder_name_format">Folder: <xliff:g id="name" example="Games">%1$s</xliff:g></string>
+
+    <!-- Strings used in device overlays -->
+
+    <!-- Clings -->
+    <!-- Dummy string [CHAR_LIMIT=40] -->
+    <add-resource type="string" name="custom_workspace_cling_title_1"/>
+    <!-- Dummy string [CHAR_LIMIT=60] -->
+    <add-resource type="string" name="custom_workspace_cling_description_1"/>
+    <!-- Dummy string [CHAR_LIMIT=40] -->
+    <add-resource type="string" name="custom_workspace_cling_title_2"/>
+    <!-- Dummy string [CHAR_LIMIT=60] -->
+    <add-resource type="string" name="custom_workspace_cling_description_2"/>
+
 </resources>
diff --git a/src/com/android/launcher2/Workspace.java b/src/com/android/launcher2/Workspace.java
index 6350c84..4940ae0 100644
--- a/src/com/android/launcher2/Workspace.java
+++ b/src/com/android/launcher2/Workspace.java
@@ -254,6 +254,13 @@
     private float[] mNewRotationYs;
     private float mTransitionProgress;
 
+    private final Runnable mBindPages = new Runnable() {
+        @Override
+        public void run() {
+            mLauncher.getModel().bindRemainingSynchronousPages();
+        }
+    };
+
     /**
      * Used to inflate the Workspace from XML.
      *
@@ -1292,12 +1299,7 @@
         super.onDraw(canvas);
 
         // Call back to LauncherModel to finish binding after the first draw
-        post(new Runnable() {
-            @Override
-            public void run() {
-                mLauncher.getModel().bindRemainingSynchronousPages();
-            }
-        });
+        post(mBindPages);
     }
 
     boolean isDrawingBackgroundGradient() {
