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.annotation.SuppressLint; | 7 import android.annotation.SuppressLint; |
8 import android.annotation.TargetApi; | 8 import android.annotation.TargetApi; |
9 import android.app.Activity; | 9 import android.app.Activity; |
10 import android.app.SearchManager; | 10 import android.app.SearchManager; |
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
80 import org.chromium.chrome.browser.fullscreen.ChromeFullscreenManager; | 80 import org.chromium.chrome.browser.fullscreen.ChromeFullscreenManager; |
81 import org.chromium.chrome.browser.gsa.ContextReporter; | 81 import org.chromium.chrome.browser.gsa.ContextReporter; |
82 import org.chromium.chrome.browser.gsa.GSAServiceClient; | 82 import org.chromium.chrome.browser.gsa.GSAServiceClient; |
83 import org.chromium.chrome.browser.gsa.GSAState; | 83 import org.chromium.chrome.browser.gsa.GSAState; |
84 import org.chromium.chrome.browser.help.HelpAndFeedback; | 84 import org.chromium.chrome.browser.help.HelpAndFeedback; |
85 import org.chromium.chrome.browser.infobar.InfoBarContainer; | 85 import org.chromium.chrome.browser.infobar.InfoBarContainer; |
86 import org.chromium.chrome.browser.init.AsyncInitializationActivity; | 86 import org.chromium.chrome.browser.init.AsyncInitializationActivity; |
87 import org.chromium.chrome.browser.metrics.LaunchMetrics; | 87 import org.chromium.chrome.browser.metrics.LaunchMetrics; |
88 import org.chromium.chrome.browser.metrics.StartupMetrics; | 88 import org.chromium.chrome.browser.metrics.StartupMetrics; |
89 import org.chromium.chrome.browser.metrics.UmaSessionStats; | 89 import org.chromium.chrome.browser.metrics.UmaSessionStats; |
90 import org.chromium.chrome.browser.net.spdyproxy.DataReductionProxySettings; | |
91 import org.chromium.chrome.browser.nfc.BeamController; | 90 import org.chromium.chrome.browser.nfc.BeamController; |
92 import org.chromium.chrome.browser.nfc.BeamProvider; | 91 import org.chromium.chrome.browser.nfc.BeamProvider; |
93 import org.chromium.chrome.browser.offlinepages.OfflinePageUtils; | 92 import org.chromium.chrome.browser.offlinepages.OfflinePageUtils; |
94 import org.chromium.chrome.browser.omaha.UpdateMenuItemHelper; | 93 import org.chromium.chrome.browser.omaha.UpdateMenuItemHelper; |
95 import org.chromium.chrome.browser.pageinfo.WebsiteSettingsPopup; | 94 import org.chromium.chrome.browser.pageinfo.WebsiteSettingsPopup; |
96 import org.chromium.chrome.browser.partnercustomizations.PartnerBrowserCustomiza
tions; | 95 import org.chromium.chrome.browser.partnercustomizations.PartnerBrowserCustomiza
tions; |
97 import org.chromium.chrome.browser.preferences.ChromePreferenceManager; | 96 import org.chromium.chrome.browser.preferences.ChromePreferenceManager; |
98 import org.chromium.chrome.browser.preferences.PrefServiceBridge; | 97 import org.chromium.chrome.browser.preferences.PrefServiceBridge; |
99 import org.chromium.chrome.browser.preferences.PreferencesLauncher; | 98 import org.chromium.chrome.browser.preferences.PreferencesLauncher; |
100 import org.chromium.chrome.browser.printing.TabPrinter; | 99 import org.chromium.chrome.browser.printing.TabPrinter; |
(...skipping 353 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
454 mReaderModeManager = new ReaderModeManager(getTabModelSelector(), th
is); | 453 mReaderModeManager = new ReaderModeManager(getTabModelSelector(), th
is); |
455 if (mToolbarManager != null) { | 454 if (mToolbarManager != null) { |
456 mToolbarManager.addFindToolbarObserver( | 455 mToolbarManager.addFindToolbarObserver( |
457 mReaderModeManager.getFindToolbarObserver()); | 456 mReaderModeManager.getFindToolbarObserver()); |
458 } | 457 } |
459 } | 458 } |
460 | 459 |
461 TraceEvent.end("ChromeActivity:CompositorInitialization"); | 460 TraceEvent.end("ChromeActivity:CompositorInitialization"); |
462 } | 461 } |
463 | 462 |
| 463 public void showLoFiPopup(Tab tab) { |
| 464 if (tab.isHidden()) { |
| 465 TabObserver tabObserver = new EmptyTabObserver() { |
| 466 @Override |
| 467 public void onShown(Tab tab) { |
| 468 mLoFiBarPopupController.showLoFiBar(tab); |
| 469 tab.removeObserver(this); |
| 470 } |
| 471 }; |
| 472 tab.addObserver(tabObserver); |
| 473 return; |
| 474 } |
| 475 mLoFiBarPopupController.showLoFiBar(tab); |
| 476 } |
| 477 |
464 /** | 478 /** |
465 * Sets the {@link TabModelSelector} owned by this {@link ChromeActivity}. | 479 * Sets the {@link TabModelSelector} owned by this {@link ChromeActivity}. |
466 * @param tabModelSelector A {@link TabModelSelector} instance. | 480 * @param tabModelSelector A {@link TabModelSelector} instance. |
467 */ | 481 */ |
468 protected void setTabModelSelector(TabModelSelector tabModelSelector) { | 482 protected void setTabModelSelector(TabModelSelector tabModelSelector) { |
469 mTabModelSelector = tabModelSelector; | 483 mTabModelSelector = tabModelSelector; |
470 | 484 |
471 if (mTabModelSelectorTabObserver != null) mTabModelSelectorTabObserver.d
estroy(); | 485 if (mTabModelSelectorTabObserver != null) mTabModelSelectorTabObserver.d
estroy(); |
472 mTabModelSelectorTabObserver = new TabModelSelectorTabObserver(tabModelS
elector) { | 486 mTabModelSelectorTabObserver = new TabModelSelectorTabObserver(tabModelS
elector) { |
473 @Override | 487 @Override |
474 public void didFirstVisuallyNonEmptyPaint(Tab tab) { | 488 public void didFirstVisuallyNonEmptyPaint(Tab tab) { |
475 if (DataUseTabUIManager.checkAndResetDataUseTrackingStarted(tab)
) { | 489 if (DataUseTabUIManager.checkAndResetDataUseTrackingStarted(tab)
) { |
476 mDataUseSnackbarController.showDataUseTrackingStartedBar(); | 490 mDataUseSnackbarController.showDataUseTrackingStartedBar(); |
477 } else if (DataUseTabUIManager.getOptedOutOfDataUseDialog(getApp
licationContext()) | 491 } else if (DataUseTabUIManager.getOptedOutOfDataUseDialog(getApp
licationContext()) |
478 && DataUseTabUIManager.checkAndResetDataUseTrackingEnded
(tab)) { | 492 && DataUseTabUIManager.checkAndResetDataUseTrackingEnded
(tab)) { |
479 mDataUseSnackbarController.showDataUseTrackingEndedBar(); | 493 mDataUseSnackbarController.showDataUseTrackingEndedBar(); |
480 } | 494 } |
481 | |
482 if (!tab.isNativePage() && !tab.isIncognito() | |
483 && DataReductionProxySettings.getInstance().wasLoFiModeA
ctiveOnMainFrame() | |
484 && DataReductionProxySettings.getInstance().canUseDataRe
ductionProxy( | |
485 tab.getUrl())) { | |
486 if (tab.isHidden()) { | |
487 TabObserver tabObserver = new EmptyTabObserver() { | |
488 @Override | |
489 public void onShown(Tab tab) { | |
490 mLoFiBarPopupController.showLoFiBar(tab); | |
491 tab.removeObserver(this); | |
492 } | |
493 }; | |
494 tab.addObserver(tabObserver); | |
495 return; | |
496 } | |
497 mLoFiBarPopupController.showLoFiBar(tab); | |
498 } | |
499 } | 495 } |
500 | 496 |
501 @Override | 497 @Override |
502 public void onShown(Tab tab) { | 498 public void onShown(Tab tab) { |
503 setStatusBarColor(tab, tab.getThemeColor()); | 499 setStatusBarColor(tab, tab.getThemeColor()); |
504 } | 500 } |
505 | 501 |
506 @Override | 502 @Override |
507 public void onHidden(Tab tab) { | 503 public void onHidden(Tab tab) { |
508 mLoFiBarPopupController.dismissLoFiBar(); | 504 mLoFiBarPopupController.dismissLoFiBar(); |
(...skipping 1097 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1606 public static int getThemeId() { | 1602 public static int getThemeId() { |
1607 boolean useLowEndTheme = | 1603 boolean useLowEndTheme = |
1608 SysUtils.isLowEndDevice() && Build.VERSION.SDK_INT >= Build.VERS
ION_CODES.LOLLIPOP; | 1604 SysUtils.isLowEndDevice() && Build.VERSION.SDK_INT >= Build.VERS
ION_CODES.LOLLIPOP; |
1609 return (useLowEndTheme ? R.style.MainTheme_LowEnd : R.style.MainTheme); | 1605 return (useLowEndTheme ? R.style.MainTheme_LowEnd : R.style.MainTheme); |
1610 } | 1606 } |
1611 | 1607 |
1612 private void setLowEndTheme() { | 1608 private void setLowEndTheme() { |
1613 if (getThemeId() == R.style.MainTheme_LowEnd) setTheme(R.style.MainTheme
_LowEnd); | 1609 if (getThemeId() == R.style.MainTheme_LowEnd) setTheme(R.style.MainTheme
_LowEnd); |
1614 } | 1610 } |
1615 } | 1611 } |
OLD | NEW |