diff options
author | Sunny Goyal <sunnygoyal@google.com> | 2014-10-28 05:11:46 +0000 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2014-10-28 05:11:46 +0000 |
commit | 91db0610beef0f6accce763744502a8cd136294d (patch) | |
tree | d7edebef32e1e37c4bfb5da022e6e4da7e822b0c | |
parent | f55f7cac7fe80e2a3343d219d0f2df0f9e84bf54 (diff) | |
parent | 09ae4aef52b4486b97ecc77feeb64307bcbd3993 (diff) | |
download | android_packages_apps_Trebuchet-91db0610beef0f6accce763744502a8cd136294d.tar.gz android_packages_apps_Trebuchet-91db0610beef0f6accce763744502a8cd136294d.tar.bz2 android_packages_apps_Trebuchet-91db0610beef0f6accce763744502a8cd136294d.zip |
am 09ae4aef: Merge "Loading internal default layout if partner layout fails to load" into ub-now-queens
* commit '09ae4aef52b4486b97ecc77feeb64307bcbd3993':
Loading internal default layout if partner layout fails to load
-rw-r--r-- | src/com/android/launcher3/LauncherProvider.java | 29 |
1 files changed, 17 insertions, 12 deletions
diff --git a/src/com/android/launcher3/LauncherProvider.java b/src/com/android/launcher3/LauncherProvider.java index f2d005e65..fe9bc171f 100644 --- a/src/com/android/launcher3/LauncherProvider.java +++ b/src/com/android/launcher3/LauncherProvider.java @@ -322,29 +322,34 @@ public class LauncherProvider extends ContentProvider { } } + final boolean usingExternallyProvidedLayout = loader != null; if (loader == null) { - loader = new DefaultLayoutParser(getContext(), mOpenHelper.mAppWidgetHost, - mOpenHelper, getContext().getResources(), getDefaultWorkspaceResourceId()); + loader = getDefaultLayoutParser(); } - // Populate favorites table with initial favorites - SharedPreferences.Editor editor = sp.edit().remove(EMPTY_DATABASE_CREATED); - mOpenHelper.loadFavorites(mOpenHelper.getWritableDatabase(), loader); - editor.commit(); + if ((mOpenHelper.loadFavorites(mOpenHelper.getWritableDatabase(), loader) <= 0) + && usingExternallyProvidedLayout) { + // Unable to load external layout. Cleanup and load the internal layout. + createEmptyDB(); + mOpenHelper.loadFavorites(mOpenHelper.getWritableDatabase(), + getDefaultLayoutParser()); + } + sp.edit().remove(EMPTY_DATABASE_CREATED).commit(); } } + private DefaultLayoutParser getDefaultLayoutParser() { + int defaultLayout = LauncherAppState.getInstance() + .getDynamicGrid().getDeviceProfile().defaultLayoutId; + return new DefaultLayoutParser(getContext(), mOpenHelper.mAppWidgetHost, + mOpenHelper, getContext().getResources(), defaultLayout); + } + public void migrateLauncher2Shortcuts() { mOpenHelper.migrateLauncher2Shortcuts(mOpenHelper.getWritableDatabase(), Uri.parse(getContext().getString(R.string.old_launcher_provider_uri))); } - private static int getDefaultWorkspaceResourceId() { - LauncherAppState app = LauncherAppState.getInstance(); - DeviceProfile grid = app.getDynamicGrid().getDeviceProfile(); - return grid.defaultLayoutId; - } - private static interface ContentValuesCallback { public void onRow(ContentValues values); } |