Loading internal default layout if partner layout fails to load
Bug: 18033885 Change-Id: I8399d0107cc3570c0e03d833601abf2cd194b3d3
This commit is contained in:
parent
e790dfdc4f
commit
9d219685c5
|
@ -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);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue