Bug 1080232 review changes -r=:Grisha Kruglov
MozReview-Commit-ID: 1nT19xdFVos
***
Bug 1080232 review changes checkstyle -r=:Grisha Kruglov
MozReview-Commit-ID: 6aG1TYB21AM
--- a/mobile/android/base/java/org/mozilla/gecko/BrowserApp.java
+++ b/mobile/android/base/java/org/mozilla/gecko/BrowserApp.java
@@ -22,17 +22,16 @@ import org.mozilla.gecko.annotation.Robo
import org.mozilla.gecko.AppConstants.Versions;
import org.mozilla.gecko.DynamicToolbar.VisibilityTransition;
import org.mozilla.gecko.Tabs.TabEvents;
import org.mozilla.gecko.animation.PropertyAnimator;
import org.mozilla.gecko.animation.ViewHelper;
import org.mozilla.gecko.cleanup.FileCleanupController;
import org.mozilla.gecko.db.BrowserContract;
import org.mozilla.gecko.db.BrowserDB;
-import org.mozilla.gecko.db.LocalBrowserDB;
import org.mozilla.gecko.db.SuggestedSites;
import org.mozilla.gecko.delegates.BrowserAppDelegate;
import org.mozilla.gecko.delegates.OfflineTabStatusDelegate;
import org.mozilla.gecko.delegates.ScreenshotDelegate;
import org.mozilla.gecko.distribution.Distribution;
import org.mozilla.gecko.distribution.DistributionStoreCallback;
import org.mozilla.gecko.distribution.PartnerBrowserCustomizationsClient;
import org.mozilla.gecko.dlc.DownloadContentService;
@@ -1630,20 +1629,40 @@ public class BrowserApp extends GeckoApp
if (mTabStrip != null) {
mTabStrip.refresh();
}
mBrowserToolbar.refresh();
}
+ private static void addHistoryAndBookmarkCountsToTelemetry(final BrowserDB db, ContentResolver cr) {
+ final Cursor cur = db.getAllCounts(cr);
+ if (cur == null) {
+ Log.d(LOGTAG, "Count cursor is unexpectedly null");
+ return;
+ }
+ try {
+ if (!cur.moveToFirst()) {
+ Log.d(LOGTAG, "Count unavailable");
+ return;
+ }
+ Telemetry.addToHistogram("PLACES_PAGES_COUNT", cur.getInt(cur.getColumnIndexOrThrow
+ ("history")));
+ Telemetry.addToHistogram("FENNEC_BOOKMARKS_COUNT", cur.getInt(cur.getColumnIndexOrThrow
+ ("bookmarks")));
+
+ } finally {
+ cur.close();
+ }
+ }
+
@Override
public void handleMessage(final String event, final NativeJSObject message,
final EventCallback callback) {
-
if ("CharEncoding:Data".equals(event)) {
final NativeJSObject[] charsets = message.getObjectArray("charsets");
final int selected = message.getInt("selected");
final String[] titleArray = new String[charsets.length];
final String[] codeArray = new String[charsets.length];
for (int i = 0; i < charsets.length; i++) {
final NativeJSObject charset = charsets[i];
@@ -1741,31 +1760,19 @@ public class BrowserApp extends GeckoApp
// Don't use a transition to settings if we're on a device where that
// would look bad.
if (HardwareUtils.IS_KINDLE_DEVICE) {
overridePendingTransition(0, 0);
}
} else if ("Telemetry:Gather".equals(event)) {
+ final ContentResolver cr = getContentResolver();
final BrowserDB db = getProfile().getDB();
- final ContentResolver cr = getContentResolver();
- Cursor cur = db.getAllCounts(cr);
- try {
- if (cur != null && cur.moveToFirst()) {
- Telemetry.addToHistogram("PLACES_PAGES_COUNT", cur.getInt(cur.getColumnIndex
- ("history")));
- Telemetry.addToHistogram("FENNEC_BOOKMARKS_COUNT", cur.getInt(cur.getColumnIndex
- ("bookmarks")));
- }
- } finally {
- if (cur != null) {
- cur.close();
- }
- }
+ addHistoryAndBookmarkCountsToTelemetry(db, cr);
Telemetry.addToHistogram("BROWSER_IS_USER_DEFAULT", (isDefaultBrowser(Intent.ACTION_VIEW) ? 1 : 0));
Telemetry.addToHistogram("FENNEC_CUSTOM_HOMEPAGE", (TextUtils.isEmpty(getHomepage()) ? 0 : 1));
final SharedPreferences prefs = GeckoSharedPrefs.forProfile(getContext());
final boolean hasCustomHomepanels = prefs.contains(HomeConfigPrefsBackend.PREFS_CONFIG_KEY) || prefs.contains(HomeConfigPrefsBackend.PREFS_CONFIG_KEY_OLD);
Telemetry.addToHistogram("FENNEC_HOMEPANELS_CUSTOM", hasCustomHomepanels ? 1 : 0);
Telemetry.addToHistogram("FENNEC_READER_VIEW_CACHE_SIZE", SavedReaderViewHelper.getSavedReaderViewHelper(getContext()).getDiskSpacedUsedKB());
--- a/mobile/android/base/java/org/mozilla/gecko/db/BrowserProvider.java
+++ b/mobile/android/base/java/org/mozilla/gecko/db/BrowserProvider.java
@@ -1079,49 +1079,45 @@ public class BrowserProvider extends Sha
public Cursor query(Uri uri, String[] projection, String selection,
String[] selectionArgs, String sortOrder) {
final int match = URI_MATCHER.match(uri);
if (match == TOPSITES) {
return getTopSites(uri);
}
SQLiteDatabase db = getReadableDatabase(uri);
- if(match == COUNTS){
- String history_table ;
+ if (match == COUNTS) {
+ String history_table;
String bookmark_table;
- if (hasFaviconsInProjection(projection))
+ final boolean isFavIconsInProjection = hasFaviconsInProjection(projection);
+ if (isFavIconsInProjection) {
history_table = VIEW_HISTORY_WITH_FAVICONS;
- else
+ } else {
history_table = TABLE_HISTORY;
-
- if (hasFaviconsInProjection(projection)) {
+ }
+ if (isFavIconsInProjection) {
bookmark_table = VIEW_BOOKMARKS_WITH_FAVICONS;
} else if (selection != null && selection.contains(Bookmarks.ANNOTATION_KEY)) {
bookmark_table = VIEW_BOOKMARKS_WITH_ANNOTATIONS;
-
} else {
bookmark_table = TABLE_BOOKMARKS;
}
-
- final String query = "SELECT "+
- "(SELECT count(_ID) from " + history_table + " WHERE visits > 0) AS " +
- "history, "+
- "(SELECT count(_ID) from " + bookmark_table + " WHERE type = " + Bookmarks
- .TYPE_BOOKMARK + ") AS " + "bookmarks;";
-
- return db.rawQuery(query,null);
+ final String query = "SELECT " +
+ "(SELECT COUNT(" + History._ID + ") FROM " + history_table + " WHERE " + History
+ .VISITS + " > 0) AS history, " +
+ "(SELECT COUNT(" + Bookmarks._ID + ") FROM " + bookmark_table + " WHERE " +
+ Bookmarks.TYPE + " = " + Bookmarks.TYPE_BOOKMARK + ") AS " + "bookmarks;";
+ return db.rawQuery(query, null);
}
SQLiteQueryBuilder qb = new SQLiteQueryBuilder();
String limit = uri.getQueryParameter(BrowserContract.PARAM_LIMIT);
String groupBy = null;
switch (match) {
-
-
case BOOKMARKS_FOLDER_ID:
case BOOKMARKS_ID:
case BOOKMARKS: {
debug("Query is on bookmarks: " + uri);
if (match == BOOKMARKS_ID) {
selection = DBUtils.concatenateWhere(selection, Bookmarks._ID + " = ?");
selectionArgs = DBUtils.appendSelectionArgs(selectionArgs,
@@ -1261,17 +1257,16 @@ public class BrowserProvider extends Sha
trace("Update TABLE: " + uri);
return table.query(db, uri, match, projection, selection, selectionArgs, sortOrder, groupBy, limit);
}
}
trace("Running built query.");
Cursor cursor = qb.query(db, projection, selection, selectionArgs, groupBy,
null, sortOrder, limit);
-
cursor.setNotificationUri(getContext().getContentResolver(),
BrowserContract.AUTHORITY_URI);
return cursor;
}
/**
* Update the positions of bookmarks in batches.
--- a/mobile/android/base/java/org/mozilla/gecko/db/LocalBrowserDB.java
+++ b/mobile/android/base/java/org/mozilla/gecko/db/LocalBrowserDB.java
@@ -130,17 +130,17 @@ public class LocalBrowserDB implements B
mBookmarksUriWithProfile = DBUtils.appendProfile(profile, Bookmarks.CONTENT_URI);
mParentsUriWithProfile = DBUtils.appendProfile(profile, Bookmarks.PARENTS_CONTENT_URI);
mHistoryUriWithProfile = DBUtils.appendProfile(profile, History.CONTENT_URI);
mHistoryExpireUriWithProfile = DBUtils.appendProfile(profile, History.CONTENT_OLD_URI);
mCombinedUriWithProfile = DBUtils.appendProfile(profile, Combined.CONTENT_URI);
mFaviconsUriWithProfile = DBUtils.appendProfile(profile, Favicons.CONTENT_URI);
mTopSitesUriWithProfile = DBUtils.appendProfile(profile, TopSites.CONTENT_URI);
mThumbnailsUriWithProfile = DBUtils.appendProfile(profile, Thumbnails.CONTENT_URI);
- mAllCountsUriWithProfile = DBUtils.appendProfile(profile ,Combined.COUNTS_URI);
+ mAllCountsUriWithProfile = DBUtils.appendProfile(profile, Combined.COUNTS_URI);
mSearchHistoryUri = BrowserContract.SearchHistory.CONTENT_URI;
mUpdateHistoryUriWithProfile =
mHistoryUriWithProfile.buildUpon()
.appendQueryParameter(BrowserContract.PARAM_INCREMENT_VISITS, "true")
.appendQueryParameter(BrowserContract.PARAM_INSERT_IF_NEEDED, "true")
.build();
--- a/mobile/android/base/java/org/mozilla/gecko/db/StubBrowserDB.java
+++ b/mobile/android/base/java/org/mozilla/gecko/db/StubBrowserDB.java
@@ -154,18 +154,16 @@ class StubUrlAnnotations implements UrlA
*/
public class StubBrowserDB implements BrowserDB {
private final StubSearches searches = new StubSearches();
private final StubTabsAccessor tabsAccessor = new StubTabsAccessor();
private final StubURLMetadata urlMetadata = new StubURLMetadata();
private final StubUrlAnnotations urlAnnotations = new StubUrlAnnotations();
private SuggestedSites suggestedSites = null;
-
-
@Override
public Searches getSearches() {
return searches;
}
@Override
public TabsAccessor getTabsAccessor() {
return tabsAccessor;