Bug 1232608 - After transferring bookmarks and history, Fennec crashes when input something in the address bar. r=rnewman
--- a/mobile/android/base/java/org/mozilla/gecko/home/SearchLoader.java
+++ b/mobile/android/base/java/org/mozilla/gecko/home/SearchLoader.java
@@ -29,17 +29,17 @@ class SearchLoader {
private static final String KEY_FILTER_FLAGS = "flags";
private SearchLoader() {
}
@SuppressWarnings("unchecked")
public static Loader<Cursor> createInstance(Context context, Bundle args) {
if (args != null) {
- final String searchTerm = args.getString(KEY_SEARCH_TERM);
+ final String searchTerm = args.getString(KEY_SEARCH_TERM, "");
final EnumSet<FilterFlags> flags =
(EnumSet<FilterFlags>) args.getSerializable(KEY_FILTER_FLAGS);
return new SearchCursorLoader(context, searchTerm, flags);
} else {
return new SearchCursorLoader(context, "", EnumSet.noneOf(FilterFlags.class));
}
}
--- a/mobile/android/base/java/org/mozilla/gecko/preferences/AndroidImport.java
+++ b/mobile/android/base/java/org/mozilla/gecko/preferences/AndroidImport.java
@@ -68,17 +68,18 @@ public class AndroidImport implements Ru
mImportHistory = doHistory;
}
public void mergeBookmarks() {
Cursor cursor = null;
try {
cursor = query(LegacyBrowserProvider.BOOKMARKS_URI,
SAMSUNG_BOOKMARKS_URI,
- LegacyBrowserProvider.BookmarkColumns.BOOKMARK + " = 1");
+ LegacyBrowserProvider.BookmarkColumns.BOOKMARK + " = 1 AND " +
+ LegacyBrowserProvider.BookmarkColumns.URL + " IS NOT NULL");
if (cursor != null) {
final int faviconCol = cursor.getColumnIndexOrThrow(LegacyBrowserProvider.BookmarkColumns.FAVICON);
final int titleCol = cursor.getColumnIndexOrThrow(LegacyBrowserProvider.BookmarkColumns.TITLE);
final int urlCol = cursor.getColumnIndexOrThrow(LegacyBrowserProvider.BookmarkColumns.URL);
// http://code.google.com/p/android/issues/detail?id=17969
final int createCol = cursor.getColumnIndex(LegacyBrowserProvider.BookmarkColumns.CREATED);
@@ -115,17 +116,18 @@ public class AndroidImport implements Ru
}
public void mergeHistory() {
Cursor cursor = null;
try {
cursor = query (LegacyBrowserProvider.BOOKMARKS_URI,
SAMSUNG_HISTORY_URI,
LegacyBrowserProvider.BookmarkColumns.BOOKMARK + " = 0 AND " +
- LegacyBrowserProvider.BookmarkColumns.VISITS + " > 0");
+ LegacyBrowserProvider.BookmarkColumns.VISITS + " > 0 AND " +
+ BrowserContract.Combined.URL + " IS NOT NULL");
if (cursor != null) {
final int dateCol = cursor.getColumnIndexOrThrow(LegacyBrowserProvider.BookmarkColumns.DATE);
final int faviconCol = cursor.getColumnIndexOrThrow(LegacyBrowserProvider.BookmarkColumns.FAVICON);
final int titleCol = cursor.getColumnIndexOrThrow(LegacyBrowserProvider.BookmarkColumns.TITLE);
final int urlCol = cursor.getColumnIndexOrThrow(LegacyBrowserProvider.BookmarkColumns.URL);
final int visitsCol = cursor.getColumnIndexOrThrow(LegacyBrowserProvider.BookmarkColumns.VISITS);