Java Code Examples for org.chromium.content.browser.BrowserStartupController#StartupCallback
The following examples show how to use
org.chromium.content.browser.BrowserStartupController#StartupCallback .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: ChromiumSyncAdapter.java From android-chromium with BSD 2-Clause "Simplified" License | 6 votes |
private void startBrowserProcessesSync( final BrowserStartupController.StartupCallback callback) { if (BrowserStartupController.get(mApplication).startBrowserProcessesSync( BrowserStartupController.MAX_RENDERERS_LIMIT)) { new Handler().post(new Runnable() { @Override public void run() { callback.onSuccess(false); } }); } else { Log.e(TAG, "Unable to start browser process."); new Handler().post(new Runnable() { @Override public void run() { callback.onFailure(); } }); } }
Example 2
Source File: ChromiumSyncAdapter.java From android-chromium with BSD 2-Clause "Simplified" License | 6 votes |
private void startBrowserProcess( final BrowserStartupController.StartupCallback callback, final SyncResult syncResult, Semaphore semaphore) { try { ThreadUtils.runOnUiThreadBlocking(new Runnable() { @Override public void run() { initCommandLine(); if (mAsyncStartup) { BrowserStartupController.get(mApplication) .startBrowserProcessesAsync(callback); } else { startBrowserProcessesSync(callback); } } }); } catch (RuntimeException e) { // It is still unknown why we ever experience this. See http://crbug.com/180044. Log.w(TAG, "Got exception when trying to request a sync. Informing Android system.", e); // Using numIoExceptions so Android will treat this as a soft error. syncResult.stats.numIoExceptions++; semaphore.release(); } }
Example 3
Source File: AccountsChangedReceiver.java From android-chromium with BSD 2-Clause "Simplified" License | 6 votes |
@Override public void onReceive(final Context context, Intent intent) { if (AccountManager.LOGIN_ACCOUNTS_CHANGED_ACTION.equals(intent.getAction())) { final Account signedInUser = ChromeSigninController.get(context).getSignedInUser(); if (signedInUser != null) { BrowserStartupController.StartupCallback callback = new BrowserStartupController.StartupCallback() { @Override public void onSuccess(boolean alreadyStarted) { OAuth2TokenService.getForProfile(Profile.getLastUsedProfile()) .validateAccounts(context); } @Override public void onFailure() { Log.w(TAG, "Failed to start browser process."); } }; startBrowserProcessOnUiThread(context, callback); } } }
Example 4
Source File: ChromiumSyncAdapter.java From android-chromium with BSD 2-Clause "Simplified" License | 6 votes |
@Override public void onPerformSync(Account account, Bundle extras, String authority, ContentProviderClient provider, SyncResult syncResult) { if (!DelayedSyncController.getInstance().shouldPerformSync(getContext(), extras, account)) { return; } // Browser startup is asynchronous, so we will need to wait for startup to finish. Semaphore semaphore = new Semaphore(0); // Configure the callback with all the data it needs. BrowserStartupController.StartupCallback callback = getStartupCallback(mApplication, account, extras, syncResult, semaphore); startBrowserProcess(callback, syncResult, semaphore); try { // Wait for startup to complete. semaphore.acquire(); } catch (InterruptedException e) { Log.w(TAG, "Got InterruptedException when trying to request a sync.", e); // Using numIoExceptions so Android will treat this as a soft error. syncResult.stats.numIoExceptions++; } }
Example 5
Source File: ChromiumSyncAdapter.java From android-chromium with BSD 2-Clause "Simplified" License | 6 votes |
@Override public void onPerformSync(Account account, Bundle extras, String authority, ContentProviderClient provider, SyncResult syncResult) { if (!DelayedSyncController.getInstance().shouldPerformSync(getContext(), extras, account)) { return; } // Browser startup is asynchronous, so we will need to wait for startup to finish. Semaphore semaphore = new Semaphore(0); // Configure the callback with all the data it needs. BrowserStartupController.StartupCallback callback = getStartupCallback(mApplication, account, extras, syncResult, semaphore); startBrowserProcess(callback, syncResult, semaphore); try { // Wait for startup to complete. semaphore.acquire(); } catch (InterruptedException e) { Log.w(TAG, "Got InterruptedException when trying to request a sync.", e); // Using numIoExceptions so Android will treat this as a soft error. syncResult.stats.numIoExceptions++; } }
Example 6
Source File: ChromiumSyncAdapter.java From android-chromium with BSD 2-Clause "Simplified" License | 6 votes |
private void startBrowserProcess( final BrowserStartupController.StartupCallback callback, final SyncResult syncResult, Semaphore semaphore) { try { ThreadUtils.runOnUiThreadBlocking(new Runnable() { @Override public void run() { initCommandLine(); if (mAsyncStartup) { BrowserStartupController.get(mApplication) .startBrowserProcessesAsync(callback); } else { startBrowserProcessesSync(callback); } } }); } catch (RuntimeException e) { // It is still unknown why we ever experience this. See http://crbug.com/180044. Log.w(TAG, "Got exception when trying to request a sync. Informing Android system.", e); // Using numIoExceptions so Android will treat this as a soft error. syncResult.stats.numIoExceptions++; semaphore.release(); } }
Example 7
Source File: ChromiumSyncAdapter.java From android-chromium with BSD 2-Clause "Simplified" License | 6 votes |
private void startBrowserProcessesSync( final BrowserStartupController.StartupCallback callback) { if (BrowserStartupController.get(mApplication).startBrowserProcessesSync( BrowserStartupController.MAX_RENDERERS_LIMIT)) { new Handler().post(new Runnable() { @Override public void run() { callback.onSuccess(false); } }); } else { Log.e(TAG, "Unable to start browser process."); new Handler().post(new Runnable() { @Override public void run() { callback.onFailure(); } }); } }
Example 8
Source File: AccountsChangedReceiver.java From android-chromium with BSD 2-Clause "Simplified" License | 6 votes |
@Override public void onReceive(final Context context, Intent intent) { if (AccountManager.LOGIN_ACCOUNTS_CHANGED_ACTION.equals(intent.getAction())) { final Account signedInUser = ChromeSigninController.get(context).getSignedInUser(); if (signedInUser != null) { BrowserStartupController.StartupCallback callback = new BrowserStartupController.StartupCallback() { @Override public void onSuccess(boolean alreadyStarted) { OAuth2TokenService.getForProfile(Profile.getLastUsedProfile()) .validateAccounts(context); } @Override public void onFailure() { Log.w(TAG, "Failed to start browser process."); } }; startBrowserProcessOnUiThread(context, callback); } } }
Example 9
Source File: ChromiumSyncAdapter.java From android-chromium with BSD 2-Clause "Simplified" License | 5 votes |
private BrowserStartupController.StartupCallback getStartupCallback( final Context context, final Account acct, Bundle extras, final SyncResult syncResult, final Semaphore semaphore) { final boolean syncAllTypes = extras.getString(INVALIDATION_OBJECT_ID_KEY) == null; final int objectSource = syncAllTypes ? 0 : extras.getInt(INVALIDATION_OBJECT_SOURCE_KEY); final String objectId = syncAllTypes ? "" : extras.getString(INVALIDATION_OBJECT_ID_KEY); final long version = syncAllTypes ? 0 : extras.getLong(INVALIDATION_VERSION_KEY); final String payload = syncAllTypes ? "" : extras.getString(INVALIDATION_PAYLOAD_KEY); return new BrowserStartupController.StartupCallback() { @Override public void onSuccess(boolean alreadyStarted) { // Startup succeeded, so we can tickle the sync engine. if (syncAllTypes) { Log.v(TAG, "Received sync tickle for all types."); requestSyncForAllTypes(); } else { // Invalidations persisted before objectSource was added should be assumed to be // for Sync objects. TODO(stepco): Remove this check once all persisted // invalidations can be expected to have the objectSource. int resolvedSource = objectSource; if (resolvedSource == 0) { resolvedSource = Types.ObjectSource.Type.CHROME_SYNC.getNumber(); } Log.v(TAG, "Received sync tickle for " + resolvedSource + " " + objectId + "."); requestSync(resolvedSource, objectId, version, payload); } semaphore.release(); } @Override public void onFailure() { // The startup failed, so we reset the delayed sync state. DelayedSyncController.getInstance().setDelayedSync(context, acct.name); // Using numIoExceptions so Android will treat this as a soft error. syncResult.stats.numIoExceptions++; semaphore.release(); } }; }
Example 10
Source File: ChromeBrowserInitializer.java From delion with Apache License 2.0 | 5 votes |
private void startChromeBrowserProcessesAsync( boolean startGpuProcess, BrowserStartupController.StartupCallback callback) throws ProcessInitException { try { TraceEvent.begin("ChromeBrowserInitializer.startChromeBrowserProcessesAsync"); mApplication.registerPolicyProviders(CombinedPolicyProvider.get()); BrowserStartupController.get(mApplication, LibraryProcessType.PROCESS_BROWSER) .startBrowserProcessesAsync(startGpuProcess, callback); } finally { TraceEvent.end("ChromeBrowserInitializer.startChromeBrowserProcessesAsync"); } }
Example 11
Source File: AccountsChangedReceiver.java From android-chromium with BSD 2-Clause "Simplified" License | 5 votes |
private static void startBrowserProcessOnUiThread(final Context context, final BrowserStartupController.StartupCallback callback) { ThreadUtils.runOnUiThread(new Runnable() { @Override public void run() { BrowserStartupController.get(context).startBrowserProcessesAsync(callback); } }); }
Example 12
Source File: ChromiumTestShellActivity.java From android-chromium with BSD 2-Clause "Simplified" License | 5 votes |
@Override protected void onCreate(final Bundle savedInstanceState) { super.onCreate(savedInstanceState); ChromiumTestShellApplication.initCommandLine(); waitForDebuggerIfNeeded(); DeviceUtils.addDeviceSpecificUserAgentSwitch(this); BrowserStartupController.StartupCallback callback = new BrowserStartupController.StartupCallback() { @Override public void onSuccess(boolean alreadyStarted) { finishInitialization(savedInstanceState); } @Override public void onFailure() { Toast.makeText(ChromiumTestShellActivity.this, R.string.browser_process_initialization_failed, Toast.LENGTH_SHORT).show(); Log.e(TAG, "Chromium browser process initialization failed"); finish(); } }; BrowserStartupController.get(this).startBrowserProcessesAsync(callback); }
Example 13
Source File: ChromiumSyncAdapter.java From android-chromium with BSD 2-Clause "Simplified" License | 5 votes |
private BrowserStartupController.StartupCallback getStartupCallback( final Context context, final Account acct, Bundle extras, final SyncResult syncResult, final Semaphore semaphore) { final boolean syncAllTypes = extras.getString(INVALIDATION_OBJECT_ID_KEY) == null; final int objectSource = syncAllTypes ? 0 : extras.getInt(INVALIDATION_OBJECT_SOURCE_KEY); final String objectId = syncAllTypes ? "" : extras.getString(INVALIDATION_OBJECT_ID_KEY); final long version = syncAllTypes ? 0 : extras.getLong(INVALIDATION_VERSION_KEY); final String payload = syncAllTypes ? "" : extras.getString(INVALIDATION_PAYLOAD_KEY); return new BrowserStartupController.StartupCallback() { @Override public void onSuccess(boolean alreadyStarted) { // Startup succeeded, so we can tickle the sync engine. if (syncAllTypes) { Log.v(TAG, "Received sync tickle for all types."); requestSyncForAllTypes(); } else { // Invalidations persisted before objectSource was added should be assumed to be // for Sync objects. TODO(stepco): Remove this check once all persisted // invalidations can be expected to have the objectSource. int resolvedSource = objectSource; if (resolvedSource == 0) { resolvedSource = Types.ObjectSource.Type.CHROME_SYNC.getNumber(); } Log.v(TAG, "Received sync tickle for " + resolvedSource + " " + objectId + "."); requestSync(resolvedSource, objectId, version, payload); } semaphore.release(); } @Override public void onFailure() { // The startup failed, so we reset the delayed sync state. DelayedSyncController.getInstance().setDelayedSync(context, acct.name); // Using numIoExceptions so Android will treat this as a soft error. syncResult.stats.numIoExceptions++; semaphore.release(); } }; }
Example 14
Source File: AccountsChangedReceiver.java From android-chromium with BSD 2-Clause "Simplified" License | 5 votes |
private static void startBrowserProcessOnUiThread(final Context context, final BrowserStartupController.StartupCallback callback) { ThreadUtils.runOnUiThread(new Runnable() { @Override public void run() { BrowserStartupController.get(context).startBrowserProcessesAsync(callback); } }); }
Example 15
Source File: ChromiumTestShellActivity.java From android-chromium with BSD 2-Clause "Simplified" License | 5 votes |
@Override protected void onCreate(final Bundle savedInstanceState) { super.onCreate(savedInstanceState); ChromiumTestShellApplication.initCommandLine(); waitForDebuggerIfNeeded(); DeviceUtils.addDeviceSpecificUserAgentSwitch(this); BrowserStartupController.StartupCallback callback = new BrowserStartupController.StartupCallback() { @Override public void onSuccess(boolean alreadyStarted) { finishInitialization(savedInstanceState); } @Override public void onFailure() { Toast.makeText(ChromiumTestShellActivity.this, R.string.browser_process_initialization_failed, Toast.LENGTH_SHORT).show(); Log.e(TAG, "Chromium browser process initialization failed"); finish(); } }; BrowserStartupController.get(this).startBrowserProcessesAsync(callback); }
Example 16
Source File: ChromeBrowserInitializer.java From 365browser with Apache License 2.0 | 5 votes |
private void startChromeBrowserProcessesAsync( boolean startGpuProcess, BrowserStartupController.StartupCallback callback) throws ProcessInitException { try { TraceEvent.begin("ChromeBrowserInitializer.startChromeBrowserProcessesAsync"); BrowserStartupController.get(LibraryProcessType.PROCESS_BROWSER) .startBrowserProcessesAsync(startGpuProcess, callback); } finally { TraceEvent.end("ChromeBrowserInitializer.startChromeBrowserProcessesAsync"); } }
Example 17
Source File: ChromeBrowserInitializer.java From AndroidChromium with Apache License 2.0 | 5 votes |
private void startChromeBrowserProcessesAsync( boolean startGpuProcess, BrowserStartupController.StartupCallback callback) throws ProcessInitException { try { TraceEvent.begin("ChromeBrowserInitializer.startChromeBrowserProcessesAsync"); BrowserStartupController.get(mApplication, LibraryProcessType.PROCESS_BROWSER) .startBrowserProcessesAsync(startGpuProcess, callback); } finally { TraceEvent.end("ChromeBrowserInitializer.startChromeBrowserProcessesAsync"); } }