| Index: chrome/android/java/src/org/chromium/chrome/browser/bookmarkswidget/BookmarkThumbnailWidgetService.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarkswidget/BookmarkThumbnailWidgetService.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarkswidget/BookmarkThumbnailWidgetService.java
|
| index ec36536e14df4441c2af286635231c4c0c744426..3d15bc155a802415c20be9976ddb27af026a812e 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarkswidget/BookmarkThumbnailWidgetService.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarkswidget/BookmarkThumbnailWidgetService.java
|
| @@ -24,6 +24,7 @@ import com.google.android.apps.chrome.appwidget.bookmarks.BookmarkThumbnailWidge
|
| import org.chromium.base.ThreadUtils;
|
| import org.chromium.base.annotations.SuppressFBWarnings;
|
| import org.chromium.base.library_loader.ProcessInitException;
|
| +import org.chromium.base.metrics.RecordUserAction;
|
| import org.chromium.chrome.R;
|
| import org.chromium.chrome.browser.ChromeApplication;
|
| import org.chromium.chrome.browser.ChromeBrowserProvider.BookmarkNode;
|
| @@ -113,6 +114,9 @@ public class BookmarkThumbnailWidgetService extends RemoteViewsService {
|
| // can work, so kill the whole application not just the activity
|
| System.exit(-1);
|
| }
|
| + if (isWidgetNewlyCreated()) {
|
| + RecordUserAction.record("BookmarkNavigatorWidgetAdded");
|
| + }
|
| mUpdateListener = new BookmarkWidgetUpdateListener(mContext, this);
|
| }
|
|
|
| @@ -163,6 +167,16 @@ public class BookmarkThumbnailWidgetService extends RemoteViewsService {
|
| .putExtra(BookmarkColumns.ID, folderId));
|
| }
|
|
|
| + /**
|
| + * This method relies on the fact that STATE_CURRENT_FOLDER pref is not yet
|
| + * set when onCreate is called for a newly created widget.
|
| + */
|
| + private boolean isWidgetNewlyCreated() {
|
| + long currentFolder = mPreferences.getLong(STATE_CURRENT_FOLDER,
|
| + ChromeBrowserProviderClient.INVALID_BOOKMARK_ID);
|
| + return currentFolder == ChromeBrowserProviderClient.INVALID_BOOKMARK_ID;
|
| + }
|
| +
|
| // Performs the required checks to trigger an update of the widget after changing the sync
|
| // enable settings. The required provider methods cannot be accessed in the UI thread.
|
| private class SyncEnabledStatusUpdatedTask extends AsyncTask<Void, Void, Void> {
|
|
|