summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorChris Wren <cwren@android.com>2013-10-04 10:42:14 -0400
committerChris Wren <cwren@android.com>2013-10-04 14:47:11 +0000
commitd8fe6de10d5ffc293f771b070bd1361a027757bb (patch)
treec03366b4452074f55879ec37623e07ef01ac69d6 /src
parentb86f07696cd85c0b441b48895392da636ea601cb (diff)
downloadandroid_packages_apps_Trebuchet-d8fe6de10d5ffc293f771b070bd1361a027757bb.tar.gz
android_packages_apps_Trebuchet-d8fe6de10d5ffc293f771b070bd1361a027757bb.tar.bz2
android_packages_apps_Trebuchet-d8fe6de10d5ffc293f771b070bd1361a027757bb.zip
check the state of launcher before running a backup.
Bug: 11066273 Change-Id: Ie27a7cce4060f0bafedb06dbdb33fddf50a9cc48
Diffstat (limited to 'src')
-rw-r--r--src/com/android/launcher3/LauncherAppState.java4
-rw-r--r--src/com/android/launcher3/LauncherBackupAgent.java16
2 files changed, 17 insertions, 3 deletions
diff --git a/src/com/android/launcher3/LauncherAppState.java b/src/com/android/launcher3/LauncherAppState.java
index 7da1c2af7..8b34ffbe0 100644
--- a/src/com/android/launcher3/LauncherAppState.java
+++ b/src/com/android/launcher3/LauncherAppState.java
@@ -54,6 +54,10 @@ public class LauncherAppState {
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 f29bb1fad..f40238cec 100644
--- a/src/com/android/launcher3/LauncherBackupAgent.java
+++ b/src/com/android/launcher3/LauncherBackupAgent.java
@@ -408,8 +408,13 @@ public class LauncherBackupAgent extends BackupAgent {
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 @@ public class LauncherBackupAgent extends BackupAgent {
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();