am 0c1eeac3: am d8fe6de1: check the state of launcher before running a backup.

* commit '0c1eeac3360ee0f06a34701d9ae92ae1e88d1c4d':
  check the state of launcher before running a backup.
diff --git a/src/com/android/launcher3/LauncherAppState.java b/src/com/android/launcher3/LauncherAppState.java
index 7da1c2a..8b34ffb 100644
--- a/src/com/android/launcher3/LauncherAppState.java
+++ b/src/com/android/launcher3/LauncherAppState.java
@@ -54,6 +54,10 @@
         return INSTANCE;
     }
 
+    public static LauncherAppState getInstanceNoCreate() {
+        return INSTANCE;
+    }
+
     public Context getContext() {
         return sContext;
     }
diff --git a/src/com/android/launcher3/LauncherBackupAgent.java b/src/com/android/launcher3/LauncherBackupAgent.java
index f29bb1f..f40238c 100644
--- a/src/com/android/launcher3/LauncherBackupAgent.java
+++ b/src/com/android/launcher3/LauncherBackupAgent.java
@@ -408,8 +408,13 @@
     private void backupIcons(Journal in, BackupDataOutput data, Journal out,
             ArrayList<Key> keys) throws IOException {
         // persist icons that haven't been persisted yet
+        final LauncherAppState app = LauncherAppState.getInstanceNoCreate();
+        if (app == null) {
+            dataChanged(this); // try again later
+            if (DEBUG) Log.d(TAG, "Launcher is not initialized, delaying icon backup");
+            return;
+        }
         final ContentResolver cr = getContentResolver();
-        final LauncherAppState app = LauncherAppState.getInstance();
         final IconCache iconCache = app.getIconCache();
         final int dpi = getResources().getDisplayMetrics().densityDpi;
 
@@ -520,10 +525,15 @@
     private void backupWidgets(Journal in, BackupDataOutput data, Journal out,
             ArrayList<Key> keys) throws IOException {
         // persist static widget info that hasn't been persisted yet
+        final LauncherAppState appState = LauncherAppState.getInstanceNoCreate();
+        if (appState == null) {
+            dataChanged(this); // try again later
+            if (DEBUG) Log.d(TAG, "Launcher is not initialized, delaying widget backup");
+            return;
+        }
         final ContentResolver cr = getContentResolver();
-        final PagedViewCellLayout widgetSpacingLayout = new PagedViewCellLayout(this);
         final WidgetPreviewLoader previewLoader = new WidgetPreviewLoader(this);
-        final LauncherAppState appState = LauncherAppState.getInstance();
+        final PagedViewCellLayout widgetSpacingLayout = new PagedViewCellLayout(this);
         final IconCache iconCache = appState.getIconCache();
         final int dpi = getResources().getDisplayMetrics().densityDpi;
         final DeviceProfile profile = appState.getDynamicGrid().getDeviceProfile();