Handling configuration changes

> Adding a listener for device profile changes
> Updating various controllers instead of recreating them
> Clearing all-apps icon

Bug: 71709920
Change-Id: Ief7db199eb7494ebd8fb433198f333cd2e8e661d
diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java
index 8ef1da9..7595793 100644
--- a/src/com/android/launcher3/Launcher.java
+++ b/src/com/android/launcher3/Launcher.java
@@ -413,16 +413,7 @@
         if ((diff & (CONFIG_ORIENTATION | CONFIG_SCREEN_SIZE)) != 0) {
             mUserEventDispatcher = null;
             initDeviceProfile(mDeviceProfile.inv);
-
-            // Re create transition manager as it may rely on the device profile.
-            // TODO: Remove any dynamic states from this class.
-            mAppTransitionManager = LauncherAppTransitionManager.newInstance(this);
-
-            // TODO: Link these to the callbacks
-            mAllAppsController.onDeviceProfileChanged(mDeviceProfile);
-            mDragLayer.setup(this, mDragController);
-
-            // TODO: Clear all-apps recycler view pools
+            dispatchDeviceProfileChanged();
 
             getRootView().dispatchInsets();
             getStateManager().reapplyState();