| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 package org.chromium.chrome.browser; | 5 package org.chromium.chrome.browser; |
| 6 | 6 |
| 7 import android.content.Context; | 7 import android.content.Context; |
| 8 import android.os.AsyncTask; | 8 import android.os.AsyncTask; |
| 9 import android.os.SystemClock; | 9 import android.os.SystemClock; |
| 10 import android.text.TextUtils; | 10 import android.text.TextUtils; |
| 11 | 11 |
| 12 import org.chromium.base.CommandLine; |
| 12 import org.chromium.base.FieldTrialList; | 13 import org.chromium.base.FieldTrialList; |
| 13 import org.chromium.base.PowerMonitor; | 14 import org.chromium.base.PowerMonitor; |
| 14 import org.chromium.base.SysUtils; | 15 import org.chromium.base.SysUtils; |
| 15 import org.chromium.base.ThreadUtils; | 16 import org.chromium.base.ThreadUtils; |
| 16 import org.chromium.base.TraceEvent; | 17 import org.chromium.base.TraceEvent; |
| 17 import org.chromium.base.VisibleForTesting; | 18 import org.chromium.base.VisibleForTesting; |
| 18 import org.chromium.base.metrics.RecordHistogram; | 19 import org.chromium.base.metrics.RecordHistogram; |
| 19 import org.chromium.chrome.browser.bookmarkswidget.BookmarkWidgetProvider; | 20 import org.chromium.chrome.browser.bookmarkswidget.BookmarkWidgetProvider; |
| 20 import org.chromium.chrome.browser.crash.CrashFileManager; | 21 import org.chromium.chrome.browser.crash.CrashFileManager; |
| 21 import org.chromium.chrome.browser.crash.MinidumpUploadService; | 22 import org.chromium.chrome.browser.crash.MinidumpUploadService; |
| 22 import org.chromium.chrome.browser.media.MediaCaptureNotificationService; | 23 import org.chromium.chrome.browser.media.MediaCaptureNotificationService; |
| 23 import org.chromium.chrome.browser.metrics.UmaUtils; | 24 import org.chromium.chrome.browser.metrics.UmaUtils; |
| 24 import org.chromium.chrome.browser.partnerbookmarks.PartnerBookmarksShim; | 25 import org.chromium.chrome.browser.partnerbookmarks.PartnerBookmarksShim; |
| 25 import org.chromium.chrome.browser.physicalweb.PhysicalWeb; | 26 import org.chromium.chrome.browser.physicalweb.PhysicalWeb; |
| 26 import org.chromium.chrome.browser.precache.PrecacheLauncher; | 27 import org.chromium.chrome.browser.precache.PrecacheLauncher; |
| 27 import org.chromium.chrome.browser.preferences.ChromePreferenceManager; | 28 import org.chromium.chrome.browser.preferences.ChromePreferenceManager; |
| 28 import org.chromium.chrome.browser.preferences.privacy.PrivacyPreferencesManager
; | 29 import org.chromium.chrome.browser.preferences.privacy.PrivacyPreferencesManager
; |
| 29 import org.chromium.chrome.browser.share.ShareHelper; | 30 import org.chromium.chrome.browser.share.ShareHelper; |
| 31 import org.chromium.chrome.browser.webapps.WebApkVersionManager; |
| 30 import org.chromium.content.browser.ChildProcessLauncher; | 32 import org.chromium.content.browser.ChildProcessLauncher; |
| 31 | 33 |
| 32 import java.util.concurrent.TimeUnit; | 34 import java.util.concurrent.TimeUnit; |
| 33 | 35 |
| 34 /** | 36 /** |
| 35 * Handler for application level tasks to be completed on deferred startup. | 37 * Handler for application level tasks to be completed on deferred startup. |
| 36 */ | 38 */ |
| 37 public class DeferredStartupHandler { | 39 public class DeferredStartupHandler { |
| 38 private static DeferredStartupHandler sDeferredStartupHandler; | 40 private static DeferredStartupHandler sDeferredStartupHandler; |
| 39 private boolean mDeferredStartupComplete; | 41 private boolean mDeferredStartupComplete; |
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 90 ChromePreferenceManager.getInstance(application)); | 92 ChromePreferenceManager.getInstance(application)); |
| 91 | 93 |
| 92 // Force a widget refresh in order to wake up any possible z
ombie widgets. | 94 // Force a widget refresh in order to wake up any possible z
ombie widgets. |
| 93 // This is needed to ensure the right behavior when the proc
ess is suddenly | 95 // This is needed to ensure the right behavior when the proc
ess is suddenly |
| 94 // killed. | 96 // killed. |
| 95 BookmarkWidgetProvider.refreshAllWidgets(application); | 97 BookmarkWidgetProvider.refreshAllWidgets(application); |
| 96 | 98 |
| 97 // Initialize whether or not precaching is enabled. | 99 // Initialize whether or not precaching is enabled. |
| 98 PrecacheLauncher.updatePrecachingEnabled(application); | 100 PrecacheLauncher.updatePrecachingEnabled(application); |
| 99 | 101 |
| 102 if (CommandLine.getInstance().hasSwitch(ChromeSwitches.ENABL
E_WEBAPK)) { |
| 103 WebApkVersionManager.updateWebApksIfNeeded(); |
| 104 } |
| 105 |
| 100 return null; | 106 return null; |
| 101 } finally { | 107 } finally { |
| 102 TraceEvent.end("ChromeBrowserInitializer.onDeferredStartup.d
oInBackground"); | 108 TraceEvent.end("ChromeBrowserInitializer.onDeferredStartup.d
oInBackground"); |
| 103 } | 109 } |
| 104 } | 110 } |
| 105 }.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR); | 111 }.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR); |
| 106 | 112 |
| 107 AfterStartupTaskUtils.setStartupComplete(); | 113 AfterStartupTaskUtils.setStartupComplete(); |
| 108 | 114 |
| 109 // TODO(aruslan): http://b/6397072 This will be moved elsewhere | 115 // TODO(aruslan): http://b/6397072 This will be moved elsewhere |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 157 } | 163 } |
| 158 | 164 |
| 159 /** | 165 /** |
| 160 * @return Whether deferred startup has been completed. | 166 * @return Whether deferred startup has been completed. |
| 161 */ | 167 */ |
| 162 @VisibleForTesting | 168 @VisibleForTesting |
| 163 public boolean isDeferredStartupComplete() { | 169 public boolean isDeferredStartupComplete() { |
| 164 return mDeferredStartupComplete; | 170 return mDeferredStartupComplete; |
| 165 } | 171 } |
| 166 } | 172 } |
| OLD | NEW |