Bug 1265908 - Avoid NPE with empty selection r?grisha draft
authorAndrzej Hunt <ahunt@mozilla.com>
Wed, 20 Apr 2016 09:58:03 +0200
changeset 354195 8a155d0dfdc0b5bf3b2a4ff843cedf3d6d9896ba
parent 353714 98e3ee7643cd665502c97d96b8c6f8369c781b5b
child 518921 6e9221187cd3b362e00a180964bcfb7511448226
push id15988
push userahunt@mozilla.com
push dateWed, 20 Apr 2016 07:58:20 +0000
reviewersgrisha
bugs1265908
milestone48.0a1
Bug 1265908 - Avoid NPE with empty selection r?grisha It is possible and valid to have a null selection. All other manipulations are null-safe, and we need to be able to handle the null-case when testing for annotations being part of the selection. MozReview-Commit-ID: Fpnt2NX1BmV
mobile/android/base/java/org/mozilla/gecko/db/BrowserProvider.java
--- a/mobile/android/base/java/org/mozilla/gecko/db/BrowserProvider.java
+++ b/mobile/android/base/java/org/mozilla/gecko/db/BrowserProvider.java
@@ -999,17 +999,17 @@ public class BrowserProvider extends Sha
                 } else {
                     debug("Using sort order " + sortOrder + ".");
                 }
 
                 qb.setProjectionMap(BOOKMARKS_PROJECTION_MAP);
 
                 if (hasFaviconsInProjection(projection)) {
                     qb.setTables(VIEW_BOOKMARKS_WITH_FAVICONS);
-                } else if (selection.contains(Bookmarks.ANNOTATION_KEY)) {
+                } else if (selection != null && selection.contains(Bookmarks.ANNOTATION_KEY)) {
                     qb.setTables(VIEW_BOOKMARKS_WITH_ANNOTATIONS);
 
                     groupBy = uri.getQueryParameter(BrowserContract.PARAM_GROUP_BY);
                 } else {
                     qb.setTables(TABLE_BOOKMARKS);
                 }
 
                 break;