diff --git a/src/com/android/launcher2/AccessibleTabView.java b/src/com/android/launcher3/AccessibleTabView.java
similarity index 97%
rename from src/com/android/launcher2/AccessibleTabView.java
rename to src/com/android/launcher3/AccessibleTabView.java
index 101f139..90a7865 100644
--- a/src/com/android/launcher2/AccessibleTabView.java
+++ b/src/com/android/launcher3/AccessibleTabView.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.launcher2;
+package com.android.launcher3;
 
 import android.content.Context;
 import android.util.AttributeSet;
diff --git a/src/com/android/launcher2/AddAdapter.java b/src/com/android/launcher3/AddAdapter.java
similarity index 97%
rename from src/com/android/launcher2/AddAdapter.java
rename to src/com/android/launcher3/AddAdapter.java
index c0bb17b..ad15e75 100644
--- a/src/com/android/launcher2/AddAdapter.java
+++ b/src/com/android/launcher3/AddAdapter.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.launcher2;
+package com.android.launcher3;
 
 import android.content.Context;
 import android.content.res.Resources;
@@ -27,7 +27,7 @@
 
 import java.util.ArrayList;
 
-import com.android.launcher.R;
+import com.android.launcher3.R;
 
 /**
  * Adapter showing the types of items that can be added to a {@link Workspace}.
diff --git a/src/com/android/launcher2/Alarm.java b/src/com/android/launcher3/Alarm.java
similarity index 98%
rename from src/com/android/launcher2/Alarm.java
rename to src/com/android/launcher3/Alarm.java
index 7cd21c3..91f9bd0 100644
--- a/src/com/android/launcher2/Alarm.java
+++ b/src/com/android/launcher3/Alarm.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.launcher2;
+package com.android.launcher3;
 
 import android.os.Handler;
 
diff --git a/src/com/android/launcher2/AllAppsList.java b/src/com/android/launcher3/AllAppsList.java
similarity index 99%
rename from src/com/android/launcher2/AllAppsList.java
rename to src/com/android/launcher3/AllAppsList.java
index 051b0bd..e74dc21 100644
--- a/src/com/android/launcher2/AllAppsList.java
+++ b/src/com/android/launcher3/AllAppsList.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.launcher2;
+package com.android.launcher3;
 
 import java.util.ArrayList;
 import java.util.List;
diff --git a/src/com/android/launcher2/AppWidgetResizeFrame.java b/src/com/android/launcher3/AppWidgetResizeFrame.java
similarity index 99%
rename from src/com/android/launcher2/AppWidgetResizeFrame.java
rename to src/com/android/launcher3/AppWidgetResizeFrame.java
index 4b54414..8e968f8 100644
--- a/src/com/android/launcher2/AppWidgetResizeFrame.java
+++ b/src/com/android/launcher3/AppWidgetResizeFrame.java
@@ -1,4 +1,4 @@
-package com.android.launcher2;
+package com.android.launcher3;
 
 import android.animation.AnimatorSet;
 import android.animation.ObjectAnimator;
@@ -13,7 +13,7 @@
 import android.widget.FrameLayout;
 import android.widget.ImageView;
 
-import com.android.launcher.R;
+import com.android.launcher3.R;
 
 public class AppWidgetResizeFrame extends FrameLayout {
     private LauncherAppWidgetHostView mWidgetView;
diff --git a/src/com/android/launcher2/ApplicationInfo.java b/src/com/android/launcher3/ApplicationInfo.java
similarity index 99%
rename from src/com/android/launcher2/ApplicationInfo.java
rename to src/com/android/launcher3/ApplicationInfo.java
index eda8c25..4659e7e 100644
--- a/src/com/android/launcher2/ApplicationInfo.java
+++ b/src/com/android/launcher3/ApplicationInfo.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.launcher2;
+package com.android.launcher3;
 
 import android.content.ComponentName;
 import android.content.Intent;
diff --git a/src/com/android/launcher2/AppsCustomizePagedView.java b/src/com/android/launcher3/AppsCustomizePagedView.java
similarity index 99%
rename from src/com/android/launcher2/AppsCustomizePagedView.java
rename to src/com/android/launcher3/AppsCustomizePagedView.java
index 95ce337..43a5259 100644
--- a/src/com/android/launcher2/AppsCustomizePagedView.java
+++ b/src/com/android/launcher3/AppsCustomizePagedView.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.launcher2;
+package com.android.launcher3;
 
 import android.animation.AnimatorSet;
 import android.animation.ValueAnimator;
@@ -51,8 +51,8 @@
 import android.widget.ImageView;
 import android.widget.Toast;
 
-import com.android.launcher.R;
-import com.android.launcher2.DropTarget.DragObject;
+import com.android.launcher3.R;
+import com.android.launcher3.DropTarget.DragObject;
 
 import java.util.ArrayList;
 import java.util.Collections;
diff --git a/src/com/android/launcher2/AppsCustomizeTabHost.java b/src/com/android/launcher3/AppsCustomizeTabHost.java
similarity index 99%
rename from src/com/android/launcher2/AppsCustomizeTabHost.java
rename to src/com/android/launcher3/AppsCustomizeTabHost.java
index 225b056..5d50fec 100644
--- a/src/com/android/launcher2/AppsCustomizeTabHost.java
+++ b/src/com/android/launcher3/AppsCustomizeTabHost.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.launcher2;
+package com.android.launcher3;
 
 import android.animation.Animator;
 import android.animation.AnimatorListenerAdapter;
@@ -33,7 +33,7 @@
 import android.widget.TabWidget;
 import android.widget.TextView;
 
-import com.android.launcher.R;
+import com.android.launcher3.R;
 
 import java.util.ArrayList;
 
diff --git a/src/com/android/launcher2/BubbleTextView.java b/src/com/android/launcher3/BubbleTextView.java
similarity index 99%
rename from src/com/android/launcher2/BubbleTextView.java
rename to src/com/android/launcher3/BubbleTextView.java
index c5bed16..7cac8a6 100644
--- a/src/com/android/launcher2/BubbleTextView.java
+++ b/src/com/android/launcher3/BubbleTextView.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.launcher2;
+package com.android.launcher3;
 
 import android.content.Context;
 import android.content.res.Resources;
diff --git a/src/com/android/launcher2/ButtonDropTarget.java b/src/com/android/launcher3/ButtonDropTarget.java
similarity index 98%
rename from src/com/android/launcher2/ButtonDropTarget.java
rename to src/com/android/launcher3/ButtonDropTarget.java
index ff0813a..a7486a8 100644
--- a/src/com/android/launcher2/ButtonDropTarget.java
+++ b/src/com/android/launcher3/ButtonDropTarget.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.launcher2;
+package com.android.launcher3;
 
 import android.content.Context;
 import android.content.res.Resources;
@@ -25,7 +25,7 @@
 import android.view.View;
 import android.widget.TextView;
 
-import com.android.launcher.R;
+import com.android.launcher3.R;
 
 
 /**
diff --git a/src/com/android/launcher2/CellLayout.java b/src/com/android/launcher3/CellLayout.java
similarity index 99%
rename from src/com/android/launcher2/CellLayout.java
rename to src/com/android/launcher3/CellLayout.java
index 024bb37..842037c 100644
--- a/src/com/android/launcher2/CellLayout.java
+++ b/src/com/android/launcher3/CellLayout.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.launcher2;
+package com.android.launcher3;
 
 import android.animation.Animator;
 import android.animation.AnimatorListenerAdapter;
@@ -48,8 +48,8 @@
 import android.view.animation.DecelerateInterpolator;
 import android.view.animation.LayoutAnimationController;
 
-import com.android.launcher.R;
-import com.android.launcher2.FolderIcon.FolderRingAnimator;
+import com.android.launcher3.R;
+import com.android.launcher3.FolderIcon.FolderRingAnimator;
 
 import java.util.ArrayList;
 import java.util.Arrays;
diff --git a/src/com/android/launcher2/CheckLongPressHelper.java b/src/com/android/launcher3/CheckLongPressHelper.java
similarity index 98%
rename from src/com/android/launcher2/CheckLongPressHelper.java
rename to src/com/android/launcher3/CheckLongPressHelper.java
index 5c3752a..7760f4e 100644
--- a/src/com/android/launcher2/CheckLongPressHelper.java
+++ b/src/com/android/launcher3/CheckLongPressHelper.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.launcher2;
+package com.android.launcher3;
 
 import android.view.View;
 
diff --git a/src/com/android/launcher2/Cling.java b/src/com/android/launcher3/Cling.java
similarity index 99%
rename from src/com/android/launcher2/Cling.java
rename to src/com/android/launcher3/Cling.java
index 971d9ff..6bb183c 100644
--- a/src/com/android/launcher2/Cling.java
+++ b/src/com/android/launcher3/Cling.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.launcher2;
+package com.android.launcher3;
 
 import android.content.Context;
 import android.content.res.Resources;
@@ -33,7 +33,7 @@
 import android.view.View;
 import android.widget.FrameLayout;
 
-import com.android.launcher.R;
+import com.android.launcher3.R;
 
 public class Cling extends FrameLayout {
 
diff --git a/src/com/android/launcher2/DeferredHandler.java b/src/com/android/launcher3/DeferredHandler.java
similarity index 99%
rename from src/com/android/launcher2/DeferredHandler.java
rename to src/com/android/launcher3/DeferredHandler.java
index cee27df..92ecf96 100644
--- a/src/com/android/launcher2/DeferredHandler.java
+++ b/src/com/android/launcher3/DeferredHandler.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.launcher2;
+package com.android.launcher3;
 
 import android.os.Handler;
 import android.os.Looper;
diff --git a/src/com/android/launcher2/DeleteDropTarget.java b/src/com/android/launcher3/DeleteDropTarget.java
similarity index 99%
rename from src/com/android/launcher2/DeleteDropTarget.java
rename to src/com/android/launcher3/DeleteDropTarget.java
index d575b8f..eba1547 100644
--- a/src/com/android/launcher2/DeleteDropTarget.java
+++ b/src/com/android/launcher3/DeleteDropTarget.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.launcher2;
+package com.android.launcher3;
 
 import android.animation.TimeInterpolator;
 import android.animation.ValueAnimator;
@@ -34,7 +34,7 @@
 import android.view.animation.DecelerateInterpolator;
 import android.view.animation.LinearInterpolator;
 
-import com.android.launcher.R;
+import com.android.launcher3.R;
 
 public class DeleteDropTarget extends ButtonDropTarget {
     private static int DELETE_ANIMATION_DURATION = 285;
diff --git a/src/com/android/launcher2/DragController.java b/src/com/android/launcher3/DragController.java
similarity index 99%
rename from src/com/android/launcher2/DragController.java
rename to src/com/android/launcher3/DragController.java
index d15cb6e..8635589 100644
--- a/src/com/android/launcher2/DragController.java
+++ b/src/com/android/launcher3/DragController.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.launcher2;
+package com.android.launcher3;
 
 import android.content.Context;
 import android.content.res.Resources;
@@ -33,7 +33,7 @@
 import android.view.ViewConfiguration;
 import android.view.inputmethod.InputMethodManager;
 
-import com.android.launcher.R;
+import com.android.launcher3.R;
 
 import java.util.ArrayList;
 
diff --git a/src/com/android/launcher2/DragLayer.java b/src/com/android/launcher3/DragLayer.java
similarity index 99%
rename from src/com/android/launcher2/DragLayer.java
rename to src/com/android/launcher3/DragLayer.java
index fccc1a6..5a1b4cc 100644
--- a/src/com/android/launcher2/DragLayer.java
+++ b/src/com/android/launcher3/DragLayer.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.launcher2;
+package com.android.launcher3;
 
 import android.animation.Animator;
 import android.animation.AnimatorListenerAdapter;
@@ -40,7 +40,7 @@
 import android.widget.FrameLayout;
 import android.widget.TextView;
 
-import com.android.launcher.R;
+import com.android.launcher3.R;
 
 import java.util.ArrayList;
 
diff --git a/src/com/android/launcher2/DragScroller.java b/src/com/android/launcher3/DragScroller.java
similarity index 97%
rename from src/com/android/launcher2/DragScroller.java
rename to src/com/android/launcher3/DragScroller.java
index a3ee6c2..e261f15 100644
--- a/src/com/android/launcher2/DragScroller.java
+++ b/src/com/android/launcher3/DragScroller.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.launcher2;
+package com.android.launcher3;
 
 /**
  * Handles scrolling while dragging
diff --git a/src/com/android/launcher2/DragSource.java b/src/com/android/launcher3/DragSource.java
similarity index 94%
rename from src/com/android/launcher2/DragSource.java
rename to src/com/android/launcher3/DragSource.java
index 5440477..2ef99ae 100644
--- a/src/com/android/launcher2/DragSource.java
+++ b/src/com/android/launcher3/DragSource.java
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
-package com.android.launcher2;
+package com.android.launcher3;
 
 import android.view.View;
 
-import com.android.launcher2.DropTarget.DragObject;
+import com.android.launcher3.DropTarget.DragObject;
 
 /**
  * Interface defining an object that can originate a drag.
diff --git a/src/com/android/launcher2/DragView.java b/src/com/android/launcher3/DragView.java
similarity index 99%
rename from src/com/android/launcher2/DragView.java
rename to src/com/android/launcher3/DragView.java
index b25ae61..686cf62 100644
--- a/src/com/android/launcher2/DragView.java
+++ b/src/com/android/launcher3/DragView.java
@@ -15,7 +15,7 @@
  */
 
 
-package com.android.launcher2;
+package com.android.launcher3;
 
 import android.animation.ValueAnimator;
 import android.animation.ValueAnimator.AnimatorUpdateListener;
@@ -30,7 +30,7 @@
 import android.view.View;
 import android.view.animation.DecelerateInterpolator;
 
-import com.android.launcher.R;
+import com.android.launcher3.R;
 
 public class DragView extends View {
     private static float sDragAlpha = 1f;
diff --git a/src/com/android/launcher2/DrawableStateProxyView.java b/src/com/android/launcher3/DrawableStateProxyView.java
similarity index 96%
rename from src/com/android/launcher2/DrawableStateProxyView.java
rename to src/com/android/launcher3/DrawableStateProxyView.java
index 5d2f6e0..196e2f2 100644
--- a/src/com/android/launcher2/DrawableStateProxyView.java
+++ b/src/com/android/launcher3/DrawableStateProxyView.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.launcher2;
+package com.android.launcher3;
 
 import android.content.Context;
 import android.content.res.TypedArray;
@@ -23,7 +23,7 @@
 import android.view.View;
 import android.widget.LinearLayout;
 
-import com.android.launcher.R;
+import com.android.launcher3.R;
 
 public class DrawableStateProxyView extends LinearLayout {
 
diff --git a/src/com/android/launcher2/DropTarget.java b/src/com/android/launcher3/DropTarget.java
similarity index 99%
rename from src/com/android/launcher2/DropTarget.java
rename to src/com/android/launcher3/DropTarget.java
index d627a4c..3ecb8ff 100644
--- a/src/com/android/launcher2/DropTarget.java
+++ b/src/com/android/launcher3/DropTarget.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.launcher2;
+package com.android.launcher3;
 
 import android.content.Context;
 import android.graphics.PointF;
diff --git a/src/com/android/launcher2/FastBitmapDrawable.java b/src/com/android/launcher3/FastBitmapDrawable.java
similarity index 98%
rename from src/com/android/launcher2/FastBitmapDrawable.java
rename to src/com/android/launcher3/FastBitmapDrawable.java
index 3c39d27..14760c7 100644
--- a/src/com/android/launcher2/FastBitmapDrawable.java
+++ b/src/com/android/launcher3/FastBitmapDrawable.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.launcher2;
+package com.android.launcher3;
 
 import android.graphics.Bitmap;
 import android.graphics.Canvas;
diff --git a/src/com/android/launcher2/FirstFrameAnimatorHelper.java b/src/com/android/launcher3/FirstFrameAnimatorHelper.java
similarity index 99%
rename from src/com/android/launcher2/FirstFrameAnimatorHelper.java
rename to src/com/android/launcher3/FirstFrameAnimatorHelper.java
index 3815486..78fdadd 100644
--- a/src/com/android/launcher2/FirstFrameAnimatorHelper.java
+++ b/src/com/android/launcher3/FirstFrameAnimatorHelper.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.launcher2;
+package com.android.launcher3;
 
 import android.animation.Animator;
 import android.animation.AnimatorListenerAdapter;
diff --git a/src/com/android/launcher2/FocusHelper.java b/src/com/android/launcher3/FocusHelper.java
similarity index 99%
rename from src/com/android/launcher2/FocusHelper.java
rename to src/com/android/launcher3/FocusHelper.java
index e9f986d..94c5820 100644
--- a/src/com/android/launcher2/FocusHelper.java
+++ b/src/com/android/launcher3/FocusHelper.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.launcher2;
+package com.android.launcher3;
 
 import android.content.res.Configuration;
 import android.view.KeyEvent;
@@ -24,7 +24,7 @@
 import android.widget.TabHost;
 import android.widget.TabWidget;
 
-import com.android.launcher.R;
+import com.android.launcher3.R;
 
 import java.util.ArrayList;
 import java.util.Collections;
diff --git a/src/com/android/launcher2/FocusOnlyTabWidget.java b/src/com/android/launcher3/FocusOnlyTabWidget.java
similarity index 98%
rename from src/com/android/launcher2/FocusOnlyTabWidget.java
rename to src/com/android/launcher3/FocusOnlyTabWidget.java
index 8e9f58c..08fc311 100644
--- a/src/com/android/launcher2/FocusOnlyTabWidget.java
+++ b/src/com/android/launcher3/FocusOnlyTabWidget.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.launcher2;
+package com.android.launcher3;
 
 import android.content.Context;
 import android.util.AttributeSet;
diff --git a/src/com/android/launcher2/Folder.java b/src/com/android/launcher3/Folder.java
similarity index 99%
rename from src/com/android/launcher2/Folder.java
rename to src/com/android/launcher3/Folder.java
index ee15008..a7b5c5c 100644
--- a/src/com/android/launcher2/Folder.java
+++ b/src/com/android/launcher3/Folder.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.launcher2;
+package com.android.launcher3;
 
 import android.animation.Animator;
 import android.animation.AnimatorListenerAdapter;
@@ -44,8 +44,8 @@
 import android.widget.LinearLayout;
 import android.widget.TextView;
 
-import com.android.launcher.R;
-import com.android.launcher2.FolderInfo.FolderListener;
+import com.android.launcher3.R;
+import com.android.launcher3.FolderInfo.FolderListener;
 
 import java.util.ArrayList;
 import java.util.Collections;
diff --git a/src/com/android/launcher2/FolderEditText.java b/src/com/android/launcher3/FolderEditText.java
similarity index 96%
rename from src/com/android/launcher2/FolderEditText.java
rename to src/com/android/launcher3/FolderEditText.java
index 13169bd..c311008 100644
--- a/src/com/android/launcher2/FolderEditText.java
+++ b/src/com/android/launcher3/FolderEditText.java
@@ -1,4 +1,4 @@
-package com.android.launcher2;
+package com.android.launcher3;
 
 import android.content.Context;
 import android.util.AttributeSet;
diff --git a/src/com/android/launcher2/FolderIcon.java b/src/com/android/launcher3/FolderIcon.java
similarity index 99%
rename from src/com/android/launcher2/FolderIcon.java
rename to src/com/android/launcher3/FolderIcon.java
index 33650c5..e11d7d1 100644
--- a/src/com/android/launcher2/FolderIcon.java
+++ b/src/com/android/launcher3/FolderIcon.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.launcher2;
+package com.android.launcher3;
 
 import android.animation.Animator;
 import android.animation.AnimatorListenerAdapter;
@@ -39,9 +39,9 @@
 import android.widget.LinearLayout;
 import android.widget.TextView;
 
-import com.android.launcher.R;
-import com.android.launcher2.DropTarget.DragObject;
-import com.android.launcher2.FolderInfo.FolderListener;
+import com.android.launcher3.R;
+import com.android.launcher3.DropTarget.DragObject;
+import com.android.launcher3.FolderInfo.FolderListener;
 
 import java.util.ArrayList;
 
diff --git a/src/com/android/launcher2/FolderInfo.java b/src/com/android/launcher3/FolderInfo.java
similarity index 98%
rename from src/com/android/launcher2/FolderInfo.java
rename to src/com/android/launcher3/FolderInfo.java
index dbac90e..6d45e59 100644
--- a/src/com/android/launcher2/FolderInfo.java
+++ b/src/com/android/launcher3/FolderInfo.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.launcher2;
+package com.android.launcher3;
 
 import java.util.ArrayList;
 
diff --git a/src/com/android/launcher2/HandleView.java b/src/com/android/launcher3/HandleView.java
similarity index 97%
rename from src/com/android/launcher2/HandleView.java
rename to src/com/android/launcher3/HandleView.java
index d77138b..6cb51da 100644
--- a/src/com/android/launcher2/HandleView.java
+++ b/src/com/android/launcher3/HandleView.java
@@ -15,7 +15,7 @@
  */
 
 
-package com.android.launcher2;
+package com.android.launcher3;
 
 import android.content.Context;
 import android.content.res.TypedArray;
@@ -24,7 +24,7 @@
 import android.view.View;
 import android.widget.ImageView;
 
-import com.android.launcher.R;
+import com.android.launcher3.R;
 
 public class HandleView extends ImageView {
     private static final int ORIENTATION_HORIZONTAL = 1;
diff --git a/src/com/android/launcher2/HideFromAccessibilityHelper.java b/src/com/android/launcher3/HideFromAccessibilityHelper.java
similarity index 98%
rename from src/com/android/launcher2/HideFromAccessibilityHelper.java
rename to src/com/android/launcher3/HideFromAccessibilityHelper.java
index 0b2ce5b..33adf77 100644
--- a/src/com/android/launcher2/HideFromAccessibilityHelper.java
+++ b/src/com/android/launcher3/HideFromAccessibilityHelper.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.launcher2;
+package com.android.launcher3;
 
 import android.view.View;
 import android.view.ViewGroup;
diff --git a/src/com/android/launcher2/HolographicImageView.java b/src/com/android/launcher3/HolographicImageView.java
similarity index 97%
rename from src/com/android/launcher2/HolographicImageView.java
rename to src/com/android/launcher3/HolographicImageView.java
index 9e551e0..0ad82a7 100644
--- a/src/com/android/launcher2/HolographicImageView.java
+++ b/src/com/android/launcher3/HolographicImageView.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.launcher2;
+package com.android.launcher3;
 
 import android.content.Context;
 import android.graphics.Canvas;
diff --git a/src/com/android/launcher2/HolographicLinearLayout.java b/src/com/android/launcher3/HolographicLinearLayout.java
similarity index 97%
rename from src/com/android/launcher2/HolographicLinearLayout.java
rename to src/com/android/launcher3/HolographicLinearLayout.java
index 0f997d5..73d4c3a 100644
--- a/src/com/android/launcher2/HolographicLinearLayout.java
+++ b/src/com/android/launcher3/HolographicLinearLayout.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.launcher2;
+package com.android.launcher3;
 
 import android.content.Context;
 import android.content.res.TypedArray;
@@ -25,7 +25,7 @@
 import android.widget.ImageView;
 import android.widget.LinearLayout;
 
-import com.android.launcher.R;
+import com.android.launcher3.R;
 
 public class HolographicLinearLayout extends LinearLayout {
 
diff --git a/src/com/android/launcher2/HolographicOutlineHelper.java b/src/com/android/launcher3/HolographicOutlineHelper.java
similarity index 99%
rename from src/com/android/launcher2/HolographicOutlineHelper.java
rename to src/com/android/launcher3/HolographicOutlineHelper.java
index 1e990dc..2decc3d 100644
--- a/src/com/android/launcher2/HolographicOutlineHelper.java
+++ b/src/com/android/launcher3/HolographicOutlineHelper.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.launcher2;
+package com.android.launcher3;
 
 import android.graphics.Bitmap;
 import android.graphics.BlurMaskFilter;
diff --git a/src/com/android/launcher2/HolographicViewHelper.java b/src/com/android/launcher3/HolographicViewHelper.java
similarity index 98%
rename from src/com/android/launcher2/HolographicViewHelper.java
rename to src/com/android/launcher3/HolographicViewHelper.java
index 93d7853..9d3ad70 100644
--- a/src/com/android/launcher2/HolographicViewHelper.java
+++ b/src/com/android/launcher3/HolographicViewHelper.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.launcher2;
+package com.android.launcher3;
 
 import android.content.Context;
 import android.content.res.Resources;
diff --git a/src/com/android/launcher2/Hotseat.java b/src/com/android/launcher3/Hotseat.java
similarity index 98%
rename from src/com/android/launcher2/Hotseat.java
rename to src/com/android/launcher3/Hotseat.java
index c122695..2844d24 100644
--- a/src/com/android/launcher2/Hotseat.java
+++ b/src/com/android/launcher3/Hotseat.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.launcher2;
+package com.android.launcher3;
 
 import android.content.Context;
 import android.content.res.Configuration;
@@ -26,7 +26,7 @@
 import android.view.View;
 import android.widget.FrameLayout;
 
-import com.android.launcher.R;
+import com.android.launcher3.R;
 
 public class Hotseat extends FrameLayout {
     @SuppressWarnings("unused")
diff --git a/src/com/android/launcher2/IconCache.java b/src/com/android/launcher3/IconCache.java
similarity index 99%
rename from src/com/android/launcher2/IconCache.java
rename to src/com/android/launcher3/IconCache.java
index aa19545..774f27e 100644
--- a/src/com/android/launcher2/IconCache.java
+++ b/src/com/android/launcher3/IconCache.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.launcher2;
+package com.android.launcher3;
 
 import android.app.ActivityManager;
 import android.content.ComponentName;
diff --git a/src/com/android/launcher2/InfoDropTarget.java b/src/com/android/launcher3/InfoDropTarget.java
similarity index 98%
rename from src/com/android/launcher2/InfoDropTarget.java
rename to src/com/android/launcher3/InfoDropTarget.java
index 850cc1f..9f1b016 100644
--- a/src/com/android/launcher2/InfoDropTarget.java
+++ b/src/com/android/launcher3/InfoDropTarget.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.launcher2;
+package com.android.launcher3;
 
 import android.content.ComponentName;
 import android.content.Context;
@@ -26,7 +26,7 @@
 import android.view.View;
 import android.view.ViewGroup;
 
-import com.android.launcher.R;
+import com.android.launcher3.R;
 
 public class InfoDropTarget extends ButtonDropTarget {
 
diff --git a/src/com/android/launcher2/InstallShortcutReceiver.java b/src/com/android/launcher3/InstallShortcutReceiver.java
similarity index 98%
rename from src/com/android/launcher2/InstallShortcutReceiver.java
rename to src/com/android/launcher3/InstallShortcutReceiver.java
index 2e86a7f..a0ea93b 100644
--- a/src/com/android/launcher2/InstallShortcutReceiver.java
+++ b/src/com/android/launcher3/InstallShortcutReceiver.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.launcher2;
+package com.android.launcher3;
 
 import android.content.BroadcastReceiver;
 import android.content.Context;
@@ -28,7 +28,7 @@
 import android.util.Log;
 import android.widget.Toast;
 
-import com.android.launcher.R;
+import com.android.launcher3.R;
 
 import java.util.ArrayList;
 import java.util.HashSet;
@@ -39,7 +39,7 @@
 
 public class InstallShortcutReceiver extends BroadcastReceiver {
     public static final String ACTION_INSTALL_SHORTCUT =
-            "com.android.launcher.action.INSTALL_SHORTCUT";
+            "com.android.launcher3.action.INSTALL_SHORTCUT";
     public static final String NEW_APPS_PAGE_KEY = "apps.new.page";
     public static final String NEW_APPS_LIST_KEY = "apps.new.list";
 
@@ -61,7 +61,7 @@
 
     // A mime-type representing shortcut data
     public static final String SHORTCUT_MIMETYPE =
-            "com.android.launcher/shortcut";
+            "com.android.launcher3/shortcut";
 
     private static Object sLock = new Object();
 
diff --git a/src/com/android/launcher2/InstallWidgetReceiver.java b/src/com/android/launcher3/InstallWidgetReceiver.java
similarity index 94%
rename from src/com/android/launcher2/InstallWidgetReceiver.java
rename to src/com/android/launcher3/InstallWidgetReceiver.java
index a1e9b11..d802df2 100644
--- a/src/com/android/launcher2/InstallWidgetReceiver.java
+++ b/src/com/android/launcher3/InstallWidgetReceiver.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.launcher2;
+package com.android.launcher3;
 
 import java.util.List;
 
@@ -33,7 +33,7 @@
 import android.widget.ListAdapter;
 import android.widget.TextView;
 
-import com.android.launcher.R;
+import com.android.launcher3.R;
 
 
 /**
@@ -42,18 +42,18 @@
  */
 public class InstallWidgetReceiver {
     public static final String ACTION_INSTALL_WIDGET =
-            "com.android.launcher.action.INSTALL_WIDGET";
+            "com.android.launcher3.action.INSTALL_WIDGET";
     public static final String ACTION_SUPPORTS_CLIPDATA_MIMETYPE =
-            "com.android.launcher.action.SUPPORTS_CLIPDATA_MIMETYPE";
+            "com.android.launcher3.action.SUPPORTS_CLIPDATA_MIMETYPE";
 
     // Currently not exposed.  Put into Intent when we want to make it public.
     // TEMP: Should we call this "EXTRA_APPWIDGET_PROVIDER"?
     public static final String EXTRA_APPWIDGET_COMPONENT =
-        "com.android.launcher.extra.widget.COMPONENT";
+        "com.android.launcher3.extra.widget.COMPONENT";
     public static final String EXTRA_APPWIDGET_CONFIGURATION_DATA_MIME_TYPE =
-        "com.android.launcher.extra.widget.CONFIGURATION_DATA_MIME_TYPE";
+        "com.android.launcher3.extra.widget.CONFIGURATION_DATA_MIME_TYPE";
     public static final String EXTRA_APPWIDGET_CONFIGURATION_DATA =
-        "com.android.launcher.extra.widget.CONFIGURATION_DATA";
+        "com.android.launcher3.extra.widget.CONFIGURATION_DATA";
 
     /**
      * A simple data class that contains per-item information that the adapter below can reference.
diff --git a/src/com/android/launcher2/InterruptibleInOutAnimator.java b/src/com/android/launcher3/InterruptibleInOutAnimator.java
similarity index 99%
rename from src/com/android/launcher2/InterruptibleInOutAnimator.java
rename to src/com/android/launcher3/InterruptibleInOutAnimator.java
index 375fddc..2898b34 100644
--- a/src/com/android/launcher2/InterruptibleInOutAnimator.java
+++ b/src/com/android/launcher3/InterruptibleInOutAnimator.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.launcher2;
+package com.android.launcher3;
 
 import android.animation.Animator;
 import android.animation.AnimatorListenerAdapter;
diff --git a/src/com/android/launcher2/ItemInfo.java b/src/com/android/launcher3/ItemInfo.java
similarity index 99%
rename from src/com/android/launcher2/ItemInfo.java
rename to src/com/android/launcher3/ItemInfo.java
index 165c07b..fb41834 100644
--- a/src/com/android/launcher2/ItemInfo.java
+++ b/src/com/android/launcher3/ItemInfo.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.launcher2;
+package com.android.launcher3;
 
 import android.content.ContentValues;
 import android.content.Intent;
diff --git a/src/com/android/launcher2/Launcher.java b/src/com/android/launcher3/Launcher.java
similarity index 99%
rename from src/com/android/launcher2/Launcher.java
rename to src/com/android/launcher3/Launcher.java
index 94a0bca..3f487cd 100644
--- a/src/com/android/launcher2/Launcher.java
+++ b/src/com/android/launcher3/Launcher.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package com.android.launcher2;
+package com.android.launcher3;
 
 import android.accounts.Account;
 import android.accounts.AccountManager;
@@ -63,7 +63,6 @@
 import android.os.Message;
 import android.os.StrictMode;
 import android.os.SystemClock;
-import android.os.UserManager;
 import android.provider.Settings;
 import android.speech.RecognizerIntent;
 import android.text.Selection;
@@ -96,8 +95,8 @@
 import android.widget.Toast;
 
 import com.android.common.Search;
-import com.android.launcher.R;
-import com.android.launcher2.DropTarget.DragObject;
+import com.android.launcher3.R;
+import com.android.launcher3.DropTarget.DragObject;
 
 import java.io.DataInputStream;
 import java.io.DataOutputStream;
@@ -156,7 +155,7 @@
 
     // The Intent extra that defines whether to ignore the launch animation
     static final String INTENT_EXTRA_IGNORE_LAUNCH_ANIMATION =
-            "com.android.launcher.intent.extra.shortcut.INGORE_LAUNCH_ANIMATION";
+            "com.android.launcher3.intent.extra.shortcut.INGORE_LAUNCH_ANIMATION";
 
     // Type: int
     private static final String RUNTIME_STATE_CURRENT_SCREEN = "launcher.current_screen";
@@ -181,11 +180,11 @@
     // Type: parcelable
     private static final String RUNTIME_STATE_PENDING_ADD_WIDGET_INFO = "launcher.add_widget_info";
 
-    private static final String TOOLBAR_ICON_METADATA_NAME = "com.android.launcher.toolbar_icon";
+    private static final String TOOLBAR_ICON_METADATA_NAME = "com.android.launcher3.toolbar_icon";
     private static final String TOOLBAR_SEARCH_ICON_METADATA_NAME =
-            "com.android.launcher.toolbar_search_icon";
+            "com.android.launcher3.toolbar_search_icon";
     private static final String TOOLBAR_VOICE_SEARCH_ICON_METADATA_NAME =
-            "com.android.launcher.toolbar_voice_search_icon";
+            "com.android.launcher3.toolbar_voice_search_icon";
 
     /** The different states that Launcher can be in. */
     private enum State { NONE, WORKSPACE, APPS_CUSTOMIZE, APPS_CUSTOMIZE_SPRING_LOADED };
@@ -3863,16 +3862,16 @@
 
         // Restricted secondary users (child mode) will potentially have very few apps
         // seeded when they start up for the first time. Clings won't work well with that
-        boolean supportsLimitedUsers =
-                android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.JELLY_BEAN_MR2;
-        Account[] accounts = AccountManager.get(this).getAccounts();
-        if (supportsLimitedUsers && accounts.length == 0) {
-            UserManager um = (UserManager) getSystemService(Context.USER_SERVICE);
-            Bundle restrictions = um.getUserRestrictions();
-            if (restrictions.getBoolean(UserManager.DISALLOW_MODIFY_ACCOUNTS, false)) {
-               return false;
-            }
-        }
+//        boolean supportsLimitedUsers =
+//                android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.JELLY_BEAN_MR2;
+//        Account[] accounts = AccountManager.get(this).getAccounts();
+//        if (supportsLimitedUsers && accounts.length == 0) {
+//            UserManager um = (UserManager) getSystemService(Context.USER_SERVICE);
+//            Bundle restrictions = um.getUserRestrictions();
+//            if (restrictions.getBoolean(UserManager.DISALLOW_MODIFY_ACCOUNTS, false)) {
+//               return false;
+//            }
+//        }
         return true;
     }
 
@@ -3951,6 +3950,7 @@
         boolean customCling = cling.getDrawIdentifier().equals("workspace_custom");
         if (customCling) {
             AccountManager am = AccountManager.get(this);
+            if (am == null) return false;
             Account[] accounts = am.getAccountsByType("com.google");
             return accounts.length == 0;
         }
@@ -4024,7 +4024,7 @@
      * Prints out out state for debugging.
      */
     public void dumpState() {
-        Log.d(TAG, "BEGIN launcher2 dump state for launcher " + this);
+        Log.d(TAG, "BEGIN launcher3 dump state for launcher " + this);
         Log.d(TAG, "mSavedState=" + mSavedState);
         Log.d(TAG, "mWorkspaceLoading=" + mWorkspaceLoading);
         Log.d(TAG, "mRestoring=" + mRestoring);
@@ -4036,7 +4036,7 @@
         if (mAppsCustomizeContent != null) {
             mAppsCustomizeContent.dumpState();
         }
-        Log.d(TAG, "END launcher2 dump state");
+        Log.d(TAG, "END launcher3 dump state");
     }
 
     @Override
diff --git a/src/com/android/launcher2/LauncherAnimUtils.java b/src/com/android/launcher3/LauncherAnimUtils.java
similarity index 99%
rename from src/com/android/launcher2/LauncherAnimUtils.java
rename to src/com/android/launcher3/LauncherAnimUtils.java
index a89cb46..01f72a7 100644
--- a/src/com/android/launcher2/LauncherAnimUtils.java
+++ b/src/com/android/launcher3/LauncherAnimUtils.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.launcher2;
+package com.android.launcher3;
 
 import android.animation.Animator;
 import android.animation.AnimatorSet;
diff --git a/src/com/android/launcher2/LauncherAnimatorUpdateListener.java b/src/com/android/launcher3/LauncherAnimatorUpdateListener.java
similarity index 96%
rename from src/com/android/launcher2/LauncherAnimatorUpdateListener.java
rename to src/com/android/launcher3/LauncherAnimatorUpdateListener.java
index dd82113..ec9fd4d 100644
--- a/src/com/android/launcher2/LauncherAnimatorUpdateListener.java
+++ b/src/com/android/launcher3/LauncherAnimatorUpdateListener.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.launcher2;
+package com.android.launcher3;
 
 import android.animation.ValueAnimator;
 import android.animation.ValueAnimator.AnimatorUpdateListener;
diff --git a/src/com/android/launcher2/LauncherAppWidgetHost.java b/src/com/android/launcher3/LauncherAppWidgetHost.java
similarity index 98%
rename from src/com/android/launcher2/LauncherAppWidgetHost.java
rename to src/com/android/launcher3/LauncherAppWidgetHost.java
index 4d52ea8..7b08d44 100644
--- a/src/com/android/launcher2/LauncherAppWidgetHost.java
+++ b/src/com/android/launcher3/LauncherAppWidgetHost.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.launcher2;
+package com.android.launcher3;
 
 import android.appwidget.AppWidgetHost;
 import android.appwidget.AppWidgetHostView;
diff --git a/src/com/android/launcher2/LauncherAppWidgetHostView.java b/src/com/android/launcher3/LauncherAppWidgetHostView.java
similarity index 97%
rename from src/com/android/launcher2/LauncherAppWidgetHostView.java
rename to src/com/android/launcher3/LauncherAppWidgetHostView.java
index 549d334..6157a87 100644
--- a/src/com/android/launcher2/LauncherAppWidgetHostView.java
+++ b/src/com/android/launcher3/LauncherAppWidgetHostView.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.launcher2;
+package com.android.launcher3;
 
 import android.appwidget.AppWidgetHostView;
 import android.content.Context;
@@ -24,7 +24,7 @@
 import android.view.ViewGroup;
 import android.widget.RemoteViews;
 
-import com.android.launcher.R;
+import com.android.launcher3.R;
 
 /**
  * {@inheritDoc}
diff --git a/src/com/android/launcher2/LauncherAppWidgetInfo.java b/src/com/android/launcher3/LauncherAppWidgetInfo.java
similarity index 98%
rename from src/com/android/launcher2/LauncherAppWidgetInfo.java
rename to src/com/android/launcher3/LauncherAppWidgetInfo.java
index f001b2b..3fc67cb 100644
--- a/src/com/android/launcher2/LauncherAppWidgetInfo.java
+++ b/src/com/android/launcher3/LauncherAppWidgetInfo.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.launcher2;
+package com.android.launcher3;
 
 import android.appwidget.AppWidgetHostView;
 import android.content.ComponentName;
diff --git a/src/com/android/launcher2/LauncherApplication.java b/src/com/android/launcher3/LauncherApplication.java
similarity index 98%
rename from src/com/android/launcher2/LauncherApplication.java
rename to src/com/android/launcher3/LauncherApplication.java
index e5f3250..45e2425 100644
--- a/src/com/android/launcher2/LauncherApplication.java
+++ b/src/com/android/launcher3/LauncherApplication.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.launcher2;
+package com.android.launcher3;
 
 import android.app.Application;
 import android.app.SearchManager;
@@ -26,7 +26,7 @@
 import android.database.ContentObserver;
 import android.os.Handler;
 
-import com.android.launcher.R;
+import com.android.launcher3.R;
 
 import java.lang.ref.WeakReference;
 
@@ -37,7 +37,7 @@
     private static boolean sIsScreenLarge;
     private static float sScreenDensity;
     private static int sLongPressTimeout = 300;
-    private static final String sSharedPreferencesKey = "com.android.launcher2.prefs";
+    private static final String sSharedPreferencesKey = "com.android.launcher3.prefs";
     WeakReference<LauncherProvider> mLauncherProvider;
 
     @Override
diff --git a/src/com/android/launcher2/LauncherModel.java b/src/com/android/launcher3/LauncherModel.java
similarity index 99%
rename from src/com/android/launcher2/LauncherModel.java
rename to src/com/android/launcher3/LauncherModel.java
index 1d562be..5459af2 100644
--- a/src/com/android/launcher2/LauncherModel.java
+++ b/src/com/android/launcher3/LauncherModel.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.launcher2;
+package com.android.launcher3;
 
 import android.app.SearchManager;
 import android.appwidget.AppWidgetManager;
@@ -47,8 +47,8 @@
 import android.os.SystemClock;
 import android.util.Log;
 
-import com.android.launcher.R;
-import com.android.launcher2.InstallWidgetReceiver.WidgetMimeTypeHandlerData;
+import com.android.launcher3.R;
+import com.android.launcher3.InstallWidgetReceiver.WidgetMimeTypeHandlerData;
 
 import java.lang.ref.WeakReference;
 import java.net.URISyntaxException;
diff --git a/src/com/android/launcher2/LauncherProvider.java b/src/com/android/launcher3/LauncherProvider.java
similarity index 99%
rename from src/com/android/launcher2/LauncherProvider.java
rename to src/com/android/launcher3/LauncherProvider.java
index 8097ac9..fb12f71 100644
--- a/src/com/android/launcher2/LauncherProvider.java
+++ b/src/com/android/launcher3/LauncherProvider.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.launcher2;
+package com.android.launcher3;
 
 import android.app.SearchManager;
 import android.appwidget.AppWidgetHost;
@@ -49,8 +49,8 @@
 import android.util.Log;
 import android.util.Xml;
 
-import com.android.launcher.R;
-import com.android.launcher2.LauncherSettings.Favorites;
+import com.android.launcher3.R;
+import com.android.launcher3.LauncherSettings.Favorites;
 
 import org.xmlpull.v1.XmlPullParser;
 import org.xmlpull.v1.XmlPullParserException;
@@ -68,7 +68,7 @@
 
     private static final int DATABASE_VERSION = 12;
 
-    static final String AUTHORITY = "com.android.launcher2.settings";
+    static final String AUTHORITY = "com.android.launcher3.settings";
 
     static final String TABLE_FAVORITES = "favorites";
     static final String PARAMETER_NOTIFY = "notify";
@@ -78,7 +78,7 @@
             "DEFAULT_WORKSPACE_RESOURCE_ID";
 
     private static final String ACTION_APPWIDGET_DEFAULT_WORKSPACE_CONFIGURE =
-            "com.android.launcher.action.APPWIDGET_DEFAULT_WORKSPACE_CONFIGURE";
+            "com.android.launcher3.action.APPWIDGET_DEFAULT_WORKSPACE_CONFIGURE";
 
     /**
      * {@link Uri} triggered at any registered {@link android.database.ContentObserver} when
@@ -441,7 +441,7 @@
 
             // Where's version 5?
             // - Donut and sholes on 2.0 shipped with version 4 of launcher1.
-            // - Passion shipped on 2.1 with version 6 of launcher2
+            // - Passion shipped on 2.1 with version 6 of launcher3
             // - Sholes shipped on 2.1r1 (aka Mr. 3) with version 5 of launcher 1
             //   but version 5 on there was the updateContactsShortcuts change
             //   which was version 6 in launcher 2 (first shipped on passion 2.1r1).
diff --git a/src/com/android/launcher2/LauncherSettings.java b/src/com/android/launcher3/LauncherSettings.java
similarity index 99%
rename from src/com/android/launcher2/LauncherSettings.java
rename to src/com/android/launcher3/LauncherSettings.java
index ee00371..7d2b843 100644
--- a/src/com/android/launcher2/LauncherSettings.java
+++ b/src/com/android/launcher3/LauncherSettings.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.launcher2;
+package com.android.launcher3;
 
 import android.net.Uri;
 import android.provider.BaseColumns;
diff --git a/src/com/android/launcher2/LauncherViewPropertyAnimator.java b/src/com/android/launcher3/LauncherViewPropertyAnimator.java
similarity index 99%
rename from src/com/android/launcher2/LauncherViewPropertyAnimator.java
rename to src/com/android/launcher3/LauncherViewPropertyAnimator.java
index 258b2f4..8a9c35d 100644
--- a/src/com/android/launcher2/LauncherViewPropertyAnimator.java
+++ b/src/com/android/launcher3/LauncherViewPropertyAnimator.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.launcher2;
+package com.android.launcher3;
 
 import android.animation.Animator;
 import android.animation.Animator.AnimatorListener;
diff --git a/src/com/android/launcher2/PackageChangedReceiver.java b/src/com/android/launcher3/PackageChangedReceiver.java
similarity index 95%
rename from src/com/android/launcher2/PackageChangedReceiver.java
rename to src/com/android/launcher3/PackageChangedReceiver.java
index e5e7e94..ded01a6 100644
--- a/src/com/android/launcher2/PackageChangedReceiver.java
+++ b/src/com/android/launcher3/PackageChangedReceiver.java
@@ -1,4 +1,4 @@
-package com.android.launcher2;
+package com.android.launcher3;
 
 import android.content.BroadcastReceiver;
 import android.content.Context;
diff --git a/src/com/android/launcher2/PagedView.java b/src/com/android/launcher3/PagedView.java
similarity index 99%
rename from src/com/android/launcher2/PagedView.java
rename to src/com/android/launcher3/PagedView.java
index 494534c..8716a33 100644
--- a/src/com/android/launcher2/PagedView.java
+++ b/src/com/android/launcher3/PagedView.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.launcher2;
+package com.android.launcher3;
 
 import android.animation.Animator;
 import android.animation.AnimatorListenerAdapter;
@@ -42,7 +42,7 @@
 import android.view.animation.Interpolator;
 import android.widget.Scroller;
 
-import com.android.launcher.R;
+import com.android.launcher3.R;
 
 import java.util.ArrayList;
 
diff --git a/src/com/android/launcher2/PagedViewCellLayout.java b/src/com/android/launcher3/PagedViewCellLayout.java
similarity index 99%
rename from src/com/android/launcher2/PagedViewCellLayout.java
rename to src/com/android/launcher3/PagedViewCellLayout.java
index 9ce177b..177425a 100644
--- a/src/com/android/launcher2/PagedViewCellLayout.java
+++ b/src/com/android/launcher3/PagedViewCellLayout.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.launcher2;
+package com.android.launcher3;
 
 import android.content.Context;
 import android.content.res.Resources;
@@ -24,7 +24,7 @@
 import android.view.ViewDebug;
 import android.view.ViewGroup;
 
-import com.android.launcher.R;
+import com.android.launcher3.R;
 
 /**
  * An abstraction of the original CellLayout which supports laying out items
diff --git a/src/com/android/launcher2/PagedViewCellLayoutChildren.java b/src/com/android/launcher3/PagedViewCellLayoutChildren.java
similarity index 99%
rename from src/com/android/launcher2/PagedViewCellLayoutChildren.java
rename to src/com/android/launcher3/PagedViewCellLayoutChildren.java
index 187a22d..c9e108d 100644
--- a/src/com/android/launcher2/PagedViewCellLayoutChildren.java
+++ b/src/com/android/launcher3/PagedViewCellLayoutChildren.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.launcher2;
+package com.android.launcher3;
 
 import android.content.Context;
 import android.graphics.Rect;
diff --git a/src/com/android/launcher2/PagedViewGridLayout.java b/src/com/android/launcher3/PagedViewGridLayout.java
similarity index 98%
rename from src/com/android/launcher2/PagedViewGridLayout.java
rename to src/com/android/launcher3/PagedViewGridLayout.java
index aa9adc0..b286861 100644
--- a/src/com/android/launcher2/PagedViewGridLayout.java
+++ b/src/com/android/launcher3/PagedViewGridLayout.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.launcher2;
+package com.android.launcher3;
 
 import android.content.Context;
 import android.view.MotionEvent;
diff --git a/src/com/android/launcher2/PagedViewIcon.java b/src/com/android/launcher3/PagedViewIcon.java
similarity index 98%
rename from src/com/android/launcher2/PagedViewIcon.java
rename to src/com/android/launcher3/PagedViewIcon.java
index d2aa31f..73f62d6 100644
--- a/src/com/android/launcher2/PagedViewIcon.java
+++ b/src/com/android/launcher3/PagedViewIcon.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.launcher2;
+package com.android.launcher3;
 
 import android.content.Context;
 import android.graphics.Bitmap;
diff --git a/src/com/android/launcher2/PagedViewIconCache.java b/src/com/android/launcher3/PagedViewIconCache.java
similarity index 99%
rename from src/com/android/launcher2/PagedViewIconCache.java
rename to src/com/android/launcher3/PagedViewIconCache.java
index d65f68b..0d03b5a 100644
--- a/src/com/android/launcher2/PagedViewIconCache.java
+++ b/src/com/android/launcher3/PagedViewIconCache.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.launcher2;
+package com.android.launcher3;
 
 import java.util.ArrayList;
 import java.util.HashMap;
diff --git a/src/com/android/launcher2/PagedViewWidget.java b/src/com/android/launcher3/PagedViewWidget.java
similarity index 99%
rename from src/com/android/launcher2/PagedViewWidget.java
rename to src/com/android/launcher3/PagedViewWidget.java
index 86ab128..bd40c5c 100644
--- a/src/com/android/launcher2/PagedViewWidget.java
+++ b/src/com/android/launcher3/PagedViewWidget.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.launcher2;
+package com.android.launcher3;
 
 import android.appwidget.AppWidgetProviderInfo;
 import android.content.Context;
@@ -29,7 +29,7 @@
 import android.widget.LinearLayout;
 import android.widget.TextView;
 
-import com.android.launcher.R;
+import com.android.launcher3.R;
 
 /**
  * The linear layout used strictly for the widget/wallpaper tab of the customization tray
diff --git a/src/com/android/launcher2/PagedViewWidgetImageView.java b/src/com/android/launcher3/PagedViewWidgetImageView.java
similarity index 97%
rename from src/com/android/launcher2/PagedViewWidgetImageView.java
rename to src/com/android/launcher3/PagedViewWidgetImageView.java
index 9928177..71f5eea 100644
--- a/src/com/android/launcher2/PagedViewWidgetImageView.java
+++ b/src/com/android/launcher3/PagedViewWidgetImageView.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.launcher2;
+package com.android.launcher3;
 
 import android.content.Context;
 import android.graphics.Canvas;
diff --git a/src/com/android/launcher2/PagedViewWithDraggableItems.java b/src/com/android/launcher3/PagedViewWithDraggableItems.java
similarity index 99%
rename from src/com/android/launcher2/PagedViewWithDraggableItems.java
rename to src/com/android/launcher3/PagedViewWithDraggableItems.java
index 9cdd74f..8f10ecf 100644
--- a/src/com/android/launcher2/PagedViewWithDraggableItems.java
+++ b/src/com/android/launcher3/PagedViewWithDraggableItems.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.launcher2;
+package com.android.launcher3;
 
 import android.content.Context;
 import android.util.AttributeSet;
diff --git a/src/com/android/launcher2/PendingAddItemInfo.java b/src/com/android/launcher3/PendingAddItemInfo.java
similarity index 98%
rename from src/com/android/launcher2/PendingAddItemInfo.java
rename to src/com/android/launcher3/PendingAddItemInfo.java
index a1e7b06..967cc92 100644
--- a/src/com/android/launcher2/PendingAddItemInfo.java
+++ b/src/com/android/launcher3/PendingAddItemInfo.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.launcher2;
+package com.android.launcher3;
 
 import android.appwidget.AppWidgetHostView;
 import android.appwidget.AppWidgetProviderInfo;
diff --git a/src/com/android/launcher2/PreloadReceiver.java b/src/com/android/launcher3/PreloadReceiver.java
similarity index 92%
rename from src/com/android/launcher2/PreloadReceiver.java
rename to src/com/android/launcher3/PreloadReceiver.java
index 08350b6..ee34348 100644
--- a/src/com/android/launcher2/PreloadReceiver.java
+++ b/src/com/android/launcher3/PreloadReceiver.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.launcher2;
+package com.android.launcher3;
 
 import android.content.BroadcastReceiver;
 import android.content.Context;
@@ -27,7 +27,7 @@
     private static final boolean LOGD = false;
 
     public static final String EXTRA_WORKSPACE_NAME =
-            "com.android.launcher.action.EXTRA_WORKSPACE_NAME";
+            "com.android.launcher3.action.EXTRA_WORKSPACE_NAME";
 
     @Override
     public void onReceive(Context context, Intent intent) {
@@ -36,7 +36,7 @@
         if (provider != null) {
             String name = intent.getStringExtra(EXTRA_WORKSPACE_NAME);
             final int workspaceResId = !TextUtils.isEmpty(name)
-                    ? context.getResources().getIdentifier(name, "xml", "com.android.launcher") : 0;
+                    ? context.getResources().getIdentifier(name, "xml", "com.android.launcher3") : 0;
             if (LOGD) {
                 Log.d(TAG, "workspace name: " + name + " id: " + workspaceResId);
             }
diff --git a/src/com/android/launcher2/SearchDropTargetBar.java b/src/com/android/launcher3/SearchDropTargetBar.java
similarity index 98%
rename from src/com/android/launcher2/SearchDropTargetBar.java
rename to src/com/android/launcher3/SearchDropTargetBar.java
index a5b76c9..32d094b 100644
--- a/src/com/android/launcher2/SearchDropTargetBar.java
+++ b/src/com/android/launcher3/SearchDropTargetBar.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.launcher2;
+package com.android.launcher3;
 
 import android.animation.Animator;
 import android.animation.AnimatorListenerAdapter;
@@ -27,7 +27,7 @@
 import android.view.animation.AccelerateInterpolator;
 import android.widget.FrameLayout;
 
-import com.android.launcher.R;
+import com.android.launcher3.R;
 
 /*
  * Ths bar will manage the transition between the QSB search bar and the delete drop
diff --git a/src/com/android/launcher2/ShortcutAndWidgetContainer.java b/src/com/android/launcher3/ShortcutAndWidgetContainer.java
similarity index 99%
rename from src/com/android/launcher2/ShortcutAndWidgetContainer.java
rename to src/com/android/launcher3/ShortcutAndWidgetContainer.java
index 36f135a..18b9399 100644
--- a/src/com/android/launcher2/ShortcutAndWidgetContainer.java
+++ b/src/com/android/launcher3/ShortcutAndWidgetContainer.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.launcher2;
+package com.android.launcher3;
 
 import android.app.WallpaperManager;
 import android.content.Context;
diff --git a/src/com/android/launcher2/ShortcutInfo.java b/src/com/android/launcher3/ShortcutInfo.java
similarity index 99%
rename from src/com/android/launcher2/ShortcutInfo.java
rename to src/com/android/launcher3/ShortcutInfo.java
index ccb663a..5249fec 100644
--- a/src/com/android/launcher2/ShortcutInfo.java
+++ b/src/com/android/launcher3/ShortcutInfo.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.launcher2;
+package com.android.launcher3;
 
 import java.util.ArrayList;
 
diff --git a/src/com/android/launcher2/SmoothPagedView.java b/src/com/android/launcher3/SmoothPagedView.java
similarity index 99%
rename from src/com/android/launcher2/SmoothPagedView.java
rename to src/com/android/launcher3/SmoothPagedView.java
index 7e47f1a..1beffac 100644
--- a/src/com/android/launcher2/SmoothPagedView.java
+++ b/src/com/android/launcher3/SmoothPagedView.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.launcher2;
+package com.android.launcher3;
 
 import android.content.Context;
 import android.util.AttributeSet;
diff --git a/src/com/android/launcher2/SpringLoadedDragController.java b/src/com/android/launcher3/SpringLoadedDragController.java
similarity index 98%
rename from src/com/android/launcher2/SpringLoadedDragController.java
rename to src/com/android/launcher3/SpringLoadedDragController.java
index d96aab7..45edaef 100644
--- a/src/com/android/launcher2/SpringLoadedDragController.java
+++ b/src/com/android/launcher3/SpringLoadedDragController.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.launcher2;
+package com.android.launcher3;
 
 public class SpringLoadedDragController implements OnAlarmListener {
     // how long the user must hover over a mini-screen before it unshrinks
diff --git a/src/com/android/launcher2/UninstallShortcutReceiver.java b/src/com/android/launcher3/UninstallShortcutReceiver.java
similarity index 97%
rename from src/com/android/launcher2/UninstallShortcutReceiver.java
rename to src/com/android/launcher3/UninstallShortcutReceiver.java
index 02590c9..6bc289a 100644
--- a/src/com/android/launcher2/UninstallShortcutReceiver.java
+++ b/src/com/android/launcher3/UninstallShortcutReceiver.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.launcher2;
+package com.android.launcher3;
 
 import android.content.BroadcastReceiver;
 import android.content.ContentResolver;
@@ -25,7 +25,7 @@
 import android.net.Uri;
 import android.widget.Toast;
 
-import com.android.launcher.R;
+import com.android.launcher3.R;
 
 import java.net.URISyntaxException;
 import java.util.ArrayList;
@@ -35,7 +35,7 @@
 
 public class UninstallShortcutReceiver extends BroadcastReceiver {
     private static final String ACTION_UNINSTALL_SHORTCUT =
-            "com.android.launcher.action.UNINSTALL_SHORTCUT";
+            "com.android.launcher3.action.UNINSTALL_SHORTCUT";
 
     // The set of shortcuts that are pending uninstall
     private static ArrayList<PendingUninstallShortcutInfo> mUninstallQueue =
diff --git a/src/com/android/launcher2/UserInitializeReceiver.java b/src/com/android/launcher3/UserInitializeReceiver.java
similarity index 92%
rename from src/com/android/launcher2/UserInitializeReceiver.java
rename to src/com/android/launcher3/UserInitializeReceiver.java
index bf3330a..5cd5181 100644
--- a/src/com/android/launcher2/UserInitializeReceiver.java
+++ b/src/com/android/launcher3/UserInitializeReceiver.java
@@ -14,12 +14,12 @@
  * limitations under the License.
  */
 
-package com.android.launcher2;
+package com.android.launcher3;
 
 import java.io.IOException;
 import java.util.ArrayList;
 
-import com.android.launcher.R;
+import com.android.launcher3.R;
 
 import android.app.WallpaperManager;
 import android.content.BroadcastReceiver;
@@ -36,8 +36,8 @@
     public void onReceive(Context context, Intent intent) {
         final Resources resources = context.getResources();
         // Context.getPackageName() may return the "original" package name,
-        // com.android.launcher2; Resources needs the real package name,
-        // com.android.launcher. So we ask Resources for what it thinks the
+        // com.android.launcher3; Resources needs the real package name,
+        // com.android.launcher3. So we ask Resources for what it thinks the
         // package name should be.
         final String packageName = resources.getResourcePackageName(R.array.wallpapers);
         ArrayList<Integer> list = new ArrayList<Integer>();
diff --git a/src/com/android/launcher2/Utilities.java b/src/com/android/launcher3/Utilities.java
similarity index 99%
rename from src/com/android/launcher2/Utilities.java
rename to src/com/android/launcher3/Utilities.java
index d3e4516..0cc29fa 100644
--- a/src/com/android/launcher2/Utilities.java
+++ b/src/com/android/launcher3/Utilities.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.launcher2;
+package com.android.launcher3;
 
 import java.util.Random;
 
@@ -34,7 +34,7 @@
 import android.graphics.drawable.PaintDrawable;
 import android.util.DisplayMetrics;
 
-import com.android.launcher.R;
+import com.android.launcher3.R;
 
 /**
  * Various utilities shared amongst the Launcher's classes.
diff --git a/src/com/android/launcher2/WallpaperChooser.java b/src/com/android/launcher3/WallpaperChooser.java
similarity index 96%
rename from src/com/android/launcher2/WallpaperChooser.java
rename to src/com/android/launcher3/WallpaperChooser.java
index 77e1e6f..fe81ccb 100644
--- a/src/com/android/launcher2/WallpaperChooser.java
+++ b/src/com/android/launcher3/WallpaperChooser.java
@@ -14,9 +14,9 @@
  * limitations under the License.
  */
 
-package com.android.launcher2;
+package com.android.launcher3;
 
-import com.android.launcher.R;
+import com.android.launcher3.R;
 
 import android.app.Activity;
 import android.app.DialogFragment;
diff --git a/src/com/android/launcher2/WallpaperChooserDialogFragment.java b/src/com/android/launcher3/WallpaperChooserDialogFragment.java
similarity index 97%
rename from src/com/android/launcher2/WallpaperChooserDialogFragment.java
rename to src/com/android/launcher3/WallpaperChooserDialogFragment.java
index b99d8ec..99de815 100644
--- a/src/com/android/launcher2/WallpaperChooserDialogFragment.java
+++ b/src/com/android/launcher3/WallpaperChooserDialogFragment.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package com.android.launcher2;
+package com.android.launcher3;
 
 import android.app.Activity;
 import android.app.Dialog;
@@ -41,7 +41,7 @@
 import android.widget.ListAdapter;
 import android.widget.SpinnerAdapter;
 
-import com.android.launcher.R;
+import com.android.launcher3.R;
 
 import java.io.IOException;
 import java.util.ArrayList;
@@ -50,7 +50,7 @@
         AdapterView.OnItemSelectedListener, AdapterView.OnItemClickListener {
 
     private static final String TAG = "Launcher.WallpaperChooserDialogFragment";
-    private static final String EMBEDDED_KEY = "com.android.launcher2."
+    private static final String EMBEDDED_KEY = "com.android.launcher3."
             + "WallpaperChooserDialogFragment.EMBEDDED_KEY";
 
     private boolean mEmbedded;
@@ -194,8 +194,8 @@
 
         final Resources resources = getResources();
         // Context.getPackageName() may return the "original" package name,
-        // com.android.launcher2; Resources needs the real package name,
-        // com.android.launcher. So we ask Resources for what it thinks the
+        // com.android.launcher3; Resources needs the real package name,
+        // com.android.launcher3. So we ask Resources for what it thinks the
         // package name should be.
         final String packageName = resources.getResourcePackageName(R.array.wallpapers);
 
diff --git a/src/com/android/launcher2/WidgetPreviewLoader.java b/src/com/android/launcher3/WidgetPreviewLoader.java
similarity index 99%
rename from src/com/android/launcher2/WidgetPreviewLoader.java
rename to src/com/android/launcher3/WidgetPreviewLoader.java
index 41a8904..ddc478a 100644
--- a/src/com/android/launcher2/WidgetPreviewLoader.java
+++ b/src/com/android/launcher3/WidgetPreviewLoader.java
@@ -1,4 +1,4 @@
-package com.android.launcher2;
+package com.android.launcher3;
 
 import android.appwidget.AppWidgetProviderInfo;
 import android.content.ComponentName;
@@ -25,7 +25,7 @@
 import android.os.AsyncTask;
 import android.util.Log;
 
-import com.android.launcher.R;
+import com.android.launcher3.R;
 
 import java.io.ByteArrayOutputStream;
 import java.io.File;
diff --git a/src/com/android/launcher2/Workspace.java b/src/com/android/launcher3/Workspace.java
similarity index 99%
rename from src/com/android/launcher2/Workspace.java
rename to src/com/android/launcher3/Workspace.java
index 24d5f88..4f1fb08 100644
--- a/src/com/android/launcher2/Workspace.java
+++ b/src/com/android/launcher3/Workspace.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.launcher2;
+package com.android.launcher3;
 
 import android.animation.Animator;
 import android.animation.AnimatorSet;
@@ -52,9 +52,9 @@
 import android.widget.ImageView;
 import android.widget.TextView;
 
-import com.android.launcher.R;
-import com.android.launcher2.FolderIcon.FolderRingAnimator;
-import com.android.launcher2.LauncherSettings.Favorites;
+import com.android.launcher3.R;
+import com.android.launcher3.FolderIcon.FolderRingAnimator;
+import com.android.launcher3.LauncherSettings.Favorites;
 
 import java.net.URISyntaxException;
 import java.util.ArrayList;
