| Index: chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
|
| index c2c9df1e66e30b306f9b2dcdd1f10022a447196e..b28a89ce557603f2e84186f9e14ffb7d294b4094 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java
|
| @@ -7,7 +7,7 @@ package org.chromium.chrome.browser;
|
| import android.annotation.SuppressLint;
|
| import android.app.Activity;
|
| import android.app.SearchManager;
|
| -import android.app.assist.AssistContent;
|
| +//import android.app.assist.AssistContent;
|
| import android.content.Context;
|
| import android.content.Intent;
|
| import android.content.SharedPreferences;
|
| @@ -50,84 +50,84 @@ import org.chromium.base.VisibleForTesting;
|
| import org.chromium.base.metrics.RecordHistogram;
|
| import org.chromium.base.metrics.RecordUserAction;
|
| import org.chromium.chrome.R;
|
| -import org.chromium.chrome.browser.BookmarksBridge.BookmarkModelObserver;
|
| +//import org.chromium.chrome.browser.BookmarksBridge.BookmarkModelObserver;
|
| import org.chromium.chrome.browser.IntentHandler.IntentHandlerDelegate;
|
| import org.chromium.chrome.browser.IntentHandler.TabOpenType;
|
| -import org.chromium.chrome.browser.appmenu.AppMenu;
|
| -import org.chromium.chrome.browser.appmenu.AppMenuHandler;
|
| -import org.chromium.chrome.browser.appmenu.AppMenuObserver;
|
| -import org.chromium.chrome.browser.appmenu.AppMenuPropertiesDelegate;
|
| -import org.chromium.chrome.browser.appmenu.ChromeAppMenuPropertiesDelegate;
|
| -import org.chromium.chrome.browser.bookmark.ManageBookmarkActivity;
|
| -import org.chromium.chrome.browser.compositor.CompositorViewHolder;
|
| -import org.chromium.chrome.browser.compositor.layouts.Layout;
|
| -import org.chromium.chrome.browser.compositor.layouts.LayoutManager;
|
| -import org.chromium.chrome.browser.compositor.layouts.LayoutManagerDocument;
|
| -import org.chromium.chrome.browser.compositor.layouts.SceneChangeObserver;
|
| -import org.chromium.chrome.browser.compositor.layouts.content.ContentOffsetProvider;
|
| -import org.chromium.chrome.browser.compositor.layouts.content.TabContentManager;
|
| -import org.chromium.chrome.browser.contextualsearch.ContextualSearchFieldTrial;
|
| -import org.chromium.chrome.browser.contextualsearch.ContextualSearchManager;
|
| -import org.chromium.chrome.browser.contextualsearch.ContextualSearchManager.ContextualSearchTabPromotionDelegate;
|
| -import org.chromium.chrome.browser.customtabs.CustomTab;
|
| -import org.chromium.chrome.browser.customtabs.CustomTabActivity;
|
| +//import org.chromium.chrome.browser.appmenu.AppMenu;
|
| +//import org.chromium.chrome.browser.appmenu.AppMenuHandler;
|
| +//import org.chromium.chrome.browser.appmenu.AppMenuObserver;
|
| +//import org.chromium.chrome.browser.appmenu.AppMenuPropertiesDelegate;
|
| +//import org.chromium.chrome.browser.appmenu.ChromeAppMenuPropertiesDelegate;
|
| +//import org.chromium.chrome.browser.bookmark.ManageBookmarkActivity;
|
| +//import org.chromium.chrome.browser.compositor.CompositorViewHolder;
|
| +//import org.chromium.chrome.browser.compositor.layouts.Layout;
|
| +//import org.chromium.chrome.browser.compositor.layouts.LayoutManager;
|
| +//import org.chromium.chrome.browser.compositor.layouts.LayoutManagerDocument;
|
| +//import org.chromium.chrome.browser.compositor.layouts.SceneChangeObserver;
|
| +//import org.chromium.chrome.browser.compositor.layouts.content.ContentOffsetProvider;
|
| +//import org.chromium.chrome.browser.compositor.layouts.content.TabContentManager;
|
| +//import org.chromium.chrome.browser.contextualsearch.ContextualSearchFieldTrial;
|
| +//import org.chromium.chrome.browser.contextualsearch.ContextualSearchManager;
|
| +//import org.chromium.chrome.browser.contextualsearch.ContextualSearchManager.ContextualSearchTabPromotionDelegate;
|
| +//import org.chromium.chrome.browser.customtabs.CustomTab;
|
| +//import org.chromium.chrome.browser.customtabs.CustomTabActivity;
|
| import org.chromium.chrome.browser.device.DeviceClassManager;
|
| -import org.chromium.chrome.browser.dom_distiller.DistilledPagePrefsView;
|
| -import org.chromium.chrome.browser.dom_distiller.ReaderModeActivityDelegate;
|
| -import org.chromium.chrome.browser.dom_distiller.ReaderModeManager;
|
| -import org.chromium.chrome.browser.enhancedbookmarks.EnhancedBookmarkUtils;
|
| -import org.chromium.chrome.browser.enhancedbookmarks.EnhancedBookmarksModel;
|
| -import org.chromium.chrome.browser.fullscreen.ChromeFullscreenManager;
|
| -import org.chromium.chrome.browser.gsa.ContextReporter;
|
| -import org.chromium.chrome.browser.gsa.GSAServiceClient;
|
| -import org.chromium.chrome.browser.gsa.GSAState;
|
| -import org.chromium.chrome.browser.help.HelpAndFeedback;
|
| -import org.chromium.chrome.browser.infobar.InfoBarContainer;
|
| +//import org.chromium.chrome.browser.dom_distiller.DistilledPagePrefsView;
|
| +//import org.chromium.chrome.browser.dom_distiller.ReaderModeActivityDelegate;
|
| +//import org.chromium.chrome.browser.dom_distiller.ReaderModeManager;
|
| +//import org.chromium.chrome.browser.enhancedbookmarks.EnhancedBookmarkUtils;
|
| +//import org.chromium.chrome.browser.enhancedbookmarks.EnhancedBookmarksModel;
|
| +//import org.chromium.chrome.browser.fullscreen.ChromeFullscreenManager;
|
| +//import org.chromium.chrome.browser.gsa.ContextReporter;
|
| +//import org.chromium.chrome.browser.gsa.GSAServiceClient;
|
| +//import org.chromium.chrome.browser.gsa.GSAState;
|
| +//import org.chromium.chrome.browser.help.HelpAndFeedback;
|
| +//import org.chromium.chrome.browser.infobar.InfoBarContainer;
|
| import org.chromium.chrome.browser.init.AsyncInitializationActivity;
|
| -import org.chromium.chrome.browser.metrics.LaunchMetrics;
|
| -import org.chromium.chrome.browser.metrics.UmaSessionStats;
|
| -import org.chromium.chrome.browser.net.spdyproxy.DataReductionProxySettings;
|
| -import org.chromium.chrome.browser.nfc.BeamController;
|
| -import org.chromium.chrome.browser.nfc.BeamProvider;
|
| -import org.chromium.chrome.browser.partnercustomizations.PartnerBrowserCustomizations;
|
| -import org.chromium.chrome.browser.preferences.ChromePreferenceManager;
|
| -import org.chromium.chrome.browser.preferences.PrefServiceBridge;
|
| -import org.chromium.chrome.browser.preferences.PreferencesLauncher;
|
| -import org.chromium.chrome.browser.printing.TabPrinter;
|
| -import org.chromium.chrome.browser.share.ShareHelper;
|
| -import org.chromium.chrome.browser.snackbar.LoFiBarPopupController;
|
| -import org.chromium.chrome.browser.snackbar.SnackbarManager;
|
| -import org.chromium.chrome.browser.snackbar.SnackbarManager.SnackbarManageable;
|
| -import org.chromium.chrome.browser.sync.ProfileSyncService;
|
| -import org.chromium.chrome.browser.tab.EmptyTabObserver;
|
| -import org.chromium.chrome.browser.tab.Tab;
|
| -import org.chromium.chrome.browser.tab.TabObserver;
|
| -import org.chromium.chrome.browser.tabmodel.ChromeTabCreator;
|
| -import org.chromium.chrome.browser.tabmodel.EmptyTabModel;
|
| -import org.chromium.chrome.browser.tabmodel.TabCreatorManager;
|
| -import org.chromium.chrome.browser.tabmodel.TabModel;
|
| -import org.chromium.chrome.browser.tabmodel.TabModel.TabLaunchType;
|
| -import org.chromium.chrome.browser.tabmodel.TabModelSelector;
|
| -import org.chromium.chrome.browser.tabmodel.TabModelSelectorTabObserver;
|
| -import org.chromium.chrome.browser.tabmodel.TabModelUtils;
|
| -import org.chromium.chrome.browser.tabmodel.TabWindowManager;
|
| -import org.chromium.chrome.browser.toolbar.Toolbar;
|
| -import org.chromium.chrome.browser.toolbar.ToolbarControlContainer;
|
| -import org.chromium.chrome.browser.toolbar.ToolbarManager;
|
| -import org.chromium.chrome.browser.util.FeatureUtilities;
|
| -import org.chromium.chrome.browser.webapps.AddToHomescreenDialog;
|
| -import org.chromium.chrome.browser.widget.ControlContainer;
|
| +//import org.chromium.chrome.browser.metrics.LaunchMetrics;
|
| +//import org.chromium.chrome.browser.metrics.UmaSessionStats;
|
| +//import org.chromium.chrome.browser.net.spdyproxy.DataReductionProxySettings;
|
| +//import org.chromium.chrome.browser.nfc.BeamController;
|
| +//import org.chromium.chrome.browser.nfc.BeamProvider;
|
| +//import org.chromium.chrome.browser.partnercustomizations.PartnerBrowserCustomizations;
|
| +//import org.chromium.chrome.browser.preferences.ChromePreferenceManager;
|
| +//import org.chromium.chrome.browser.preferences.PrefServiceBridge;
|
| +//import org.chromium.chrome.browser.preferences.PreferencesLauncher;
|
| +//import org.chromium.chrome.browser.printing.TabPrinter;
|
| +//import org.chromium.chrome.browser.share.ShareHelper;
|
| +//import org.chromium.chrome.browser.snackbar.LoFiBarPopupController;
|
| +//import org.chromium.chrome.browser.snackbar.SnackbarManager;
|
| +//import org.chromium.chrome.browser.snackbar.SnackbarManager.SnackbarManageable;
|
| +//import org.chromium.chrome.browser.sync.ProfileSyncService;
|
| +//import org.chromium.chrome.browser.tab.EmptyTabObserver;
|
| +//import org.chromium.chrome.browser.tab.Tab;
|
| +//import org.chromium.chrome.browser.tab.TabObserver;
|
| +//import org.chromium.chrome.browser.tabmodel.ChromeTabCreator;
|
| +//import org.chromium.chrome.browser.tabmodel.EmptyTabModel;
|
| +//import org.chromium.chrome.browser.tabmodel.TabCreatorManager;
|
| +//import org.chromium.chrome.browser.tabmodel.TabModel;
|
| +//import org.chromium.chrome.browser.tabmodel.TabModel.TabLaunchType;
|
| +//import org.chromium.chrome.browser.tabmodel.TabModelSelector;
|
| +//import org.chromium.chrome.browser.tabmodel.TabModelSelectorTabObserver;
|
| +//import org.chromium.chrome.browser.tabmodel.TabModelUtils;
|
| +//import org.chromium.chrome.browser.tabmodel.TabWindowManager;
|
| +//import org.chromium.chrome.browser.toolbar.Toolbar;
|
| +//import org.chromium.chrome.browser.toolbar.ToolbarControlContainer;
|
| +//import org.chromium.chrome.browser.toolbar.ToolbarManager;
|
| +//import org.chromium.chrome.browser.util.FeatureUtilities;
|
| +//import org.chromium.chrome.browser.webapps.AddToHomescreenDialog;
|
| +//import org.chromium.chrome.browser.widget.ControlContainer;
|
| import org.chromium.content.browser.ContentReadbackHandler;
|
| import org.chromium.content.browser.ContentReadbackHandler.GetBitmapCallback;
|
| import org.chromium.content.browser.ContentViewCore;
|
| import org.chromium.content.common.ContentSwitches;
|
| import org.chromium.content_public.browser.LoadUrlParams;
|
| -import org.chromium.content_public.browser.readback_types.ReadbackResponse;
|
| +//import org.chromium.content_public.browser.readback_types.ReadbackResponse;
|
| import org.chromium.policy.CombinedPolicyProvider.PolicyChangeListener;
|
| import org.chromium.printing.PrintManagerDelegateImpl;
|
| import org.chromium.printing.PrintingController;
|
| import org.chromium.ui.base.ActivityWindowAndroid;
|
| -import org.chromium.ui.base.PageTransition;
|
| +//import org.chromium.ui.base.PageTransition;
|
| import org.chromium.ui.base.WindowAndroid;
|
|
|
| import java.util.Locale;
|
| @@ -138,18 +138,17 @@ import java.util.concurrent.TimeUnit;
|
| * and associated classes.
|
| */
|
| public abstract class ChromeActivity extends AsyncInitializationActivity
|
| - implements TabCreatorManager, AccessibilityStateChangeListener, PolicyChangeListener,
|
| - ContextualSearchTabPromotionDelegate, SnackbarManageable, SceneChangeObserver {
|
| - /**
|
| - * Factory which creates the AppMenuHandler.
|
| - */
|
| - public interface AppMenuHandlerFactory {
|
| - /**
|
| - * @return AppMenuHandler for the given activity and menu resource id.
|
| - */
|
| - public AppMenuHandler get(Activity activity,
|
| - AppMenuPropertiesDelegate delegate, int menuResourceId);
|
| - }
|
| + implements AccessibilityStateChangeListener, PolicyChangeListener {
|
| +// /**
|
| +// * Factory which creates the AppMenuHandler.
|
| +// */
|
| +// public interface AppMenuHandlerFactory {
|
| +// /**
|
| +// * @return AppMenuHandler for the given activity and menu resource id.
|
| +// */
|
| +// public AppMenuHandler get(Activity activity,
|
| +// AppMenuPropertiesDelegate delegate, int menuResourceId);
|
| +// }
|
|
|
| /**
|
| * No control container to inflate during initialization.
|
| @@ -170,14 +169,14 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
|
| private static final int PARTNER_BROWSER_CUSTOMIZATIONS_TIMEOUT_MS = 10000;
|
| private static final String TAG = "cr.ChromeActivity";
|
|
|
| - private TabModelSelector mTabModelSelector;
|
| - private TabModelSelectorTabObserver mTabModelSelectorTabObserver;
|
| - private TabCreatorManager.TabCreator mRegularTabCreator;
|
| - private TabCreatorManager.TabCreator mIncognitoTabCreator;
|
| - private TabContentManager mTabContentManager;
|
| - private UmaSessionStats mUmaSessionStats;
|
| - private ContextReporter mContextReporter;
|
| - protected GSAServiceClient mGSAServiceClient;
|
| +// private TabModelSelector mTabModelSelector;
|
| +// private TabModelSelectorTabObserver mTabModelSelectorTabObserver;
|
| +// private TabCreatorManager.TabCreator mRegularTabCreator;
|
| +// private TabCreatorManager.TabCreator mIncognitoTabCreator;
|
| +// private TabContentManager mTabContentManager;
|
| +// private UmaSessionStats mUmaSessionStats;
|
| +// private ContextReporter mContextReporter;
|
| +// protected GSAServiceClient mGSAServiceClient;
|
|
|
| private boolean mPartnerBrowserRefreshNeeded = false;
|
|
|
| @@ -193,19 +192,19 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
|
| private TouchExplorationStateChangeListener mTouchExplorationStateChangeListener;
|
|
|
| // Observes when sync becomes ready to create the mContextReporter.
|
| - private ProfileSyncService.SyncStateChangedListener mSyncStateChangedListener;
|
| +// private ProfileSyncService.SyncStateChangedListener mSyncStateChangedListener;
|
|
|
| private ActivityWindowAndroid mWindowAndroid;
|
| - private ChromeFullscreenManager mFullscreenManager;
|
| - private CompositorViewHolder mCompositorViewHolder;
|
| - private ContextualSearchManager mContextualSearchManager;
|
| - private ReaderModeActivityDelegate mReaderModeActivityDelegate;
|
| - private SnackbarManager mSnackbarManager;
|
| - private LoFiBarPopupController mLoFiBarPopupController;
|
| - private ChromeAppMenuPropertiesDelegate mAppMenuPropertiesDelegate;
|
| - private AppMenuHandler mAppMenuHandler;
|
| - private ToolbarManager mToolbarManager;
|
| - private BookmarkModelObserver mBookmarkObserver;
|
| +// private ChromeFullscreenManager mFullscreenManager;
|
| +// private CompositorViewHolder mCompositorViewHolder;
|
| +// private ContextualSearchManager mContextualSearchManager;
|
| +// private ReaderModeActivityDelegate mReaderModeActivityDelegate;
|
| +// private SnackbarManager mSnackbarManager;
|
| +// private LoFiBarPopupController mLoFiBarPopupController;
|
| +// private ChromeAppMenuPropertiesDelegate mAppMenuPropertiesDelegate;
|
| +// private AppMenuHandler mAppMenuHandler;
|
| +// private ToolbarManager mToolbarManager;
|
| +// private BookmarkModelObserver mBookmarkObserver;
|
|
|
| // Time in ms that it took took us to inflate the initial layout
|
| private long mInflateInitialLayoutDurationMs;
|
| @@ -214,23 +213,23 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
|
|
|
| private final Locale mCurrentLocale = Locale.getDefault();
|
|
|
| - private AssistStatusHandler mAssistStatusHandler;
|
| +// private AssistStatusHandler mAssistStatusHandler;
|
|
|
| - private static AppMenuHandlerFactory sAppMenuHandlerFactory = new AppMenuHandlerFactory() {
|
| - @Override
|
| - public AppMenuHandler get(
|
| - Activity activity, AppMenuPropertiesDelegate delegate, int menuResourceId) {
|
| - return new AppMenuHandler(activity, delegate, menuResourceId);
|
| - }
|
| - };
|
| +// private static AppMenuHandlerFactory sAppMenuHandlerFactory = new AppMenuHandlerFactory() {
|
| +// @Override
|
| +// public AppMenuHandler get(
|
| +// Activity activity, AppMenuPropertiesDelegate delegate, int menuResourceId) {
|
| +// return new AppMenuHandler(activity, delegate, menuResourceId);
|
| +// }
|
| +// };
|
|
|
| - /**
|
| - * @param The {@link AppMenuHandlerFactory} for creating {@link mAppMenuHandler}
|
| - */
|
| - @VisibleForTesting
|
| - public static void setAppMenuHandlerFactoryForTesting(AppMenuHandlerFactory factory) {
|
| - sAppMenuHandlerFactory = factory;
|
| - }
|
| +// /**
|
| +// * @param The {@link AppMenuHandlerFactory} for creating {@link mAppMenuHandler}
|
| +// */
|
| +// @VisibleForTesting
|
| +// public static void setAppMenuHandlerFactoryForTesting(AppMenuHandlerFactory factory) {
|
| +// sAppMenuHandlerFactory = factory;
|
| +// }
|
|
|
| @Override
|
| public void preInflationStartup() {
|
| @@ -245,47 +244,47 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
|
| public void postInflationStartup() {
|
| super.postInflationStartup();
|
|
|
| - mWindowAndroid = ((ChromeApplication) getApplicationContext())
|
| - .createActivityWindowAndroid(this);
|
| - mWindowAndroid.restoreInstanceState(getSavedInstanceState());
|
| - mSnackbarManager = new SnackbarManager(getWindow());
|
| - mLoFiBarPopupController = new LoFiBarPopupController(this, getSnackbarManager());
|
| +// mWindowAndroid = ((ChromeApplication) getApplicationContext())
|
| +// .createActivityWindowAndroid(this);
|
| +// mWindowAndroid.restoreInstanceState(getSavedInstanceState());
|
| +// mSnackbarManager = new SnackbarManager(getWindow());
|
| +// mLoFiBarPopupController = new LoFiBarPopupController(this, getSnackbarManager());
|
|
|
| - mAssistStatusHandler = createAssistStatusHandler();
|
| - if (mAssistStatusHandler != null) {
|
| - if (mTabModelSelector != null) {
|
| - mAssistStatusHandler.setTabModelSelector(mTabModelSelector);
|
| - }
|
| - mAssistStatusHandler.updateAssistState();
|
| - }
|
| +// mAssistStatusHandler = createAssistStatusHandler();
|
| +// if (mAssistStatusHandler != null) {
|
| +//// if (mTabModelSelector != null) {
|
| +//// mAssistStatusHandler.setTabModelSelector(mTabModelSelector);
|
| +//// }
|
| +// mAssistStatusHandler.updateAssistState();
|
| +// }
|
|
|
| // If a user had ALLOW_LOW_END_DEVICE_UI explicitly set to false then we manually override
|
| // SysUtils.isLowEndDevice() with a switch so that they continue to see the normal UI. This
|
| // is only the case for grandfathered-in svelte users. We no longer do so for newer users.
|
| - if (!ChromePreferenceManager.getInstance(this).getAllowLowEndDeviceUi()) {
|
| - CommandLine.getInstance().appendSwitch(
|
| - BaseSwitches.DISABLE_LOW_END_DEVICE_MODE);
|
| - }
|
| +// if (!ChromePreferenceManager.getInstance(this).getAllowLowEndDeviceUi()) {
|
| +// CommandLine.getInstance().appendSwitch(
|
| +// BaseSwitches.DISABLE_LOW_END_DEVICE_MODE);
|
| +// }
|
|
|
| AccessibilityManager manager = (AccessibilityManager)
|
| getBaseContext().getSystemService(Context.ACCESSIBILITY_SERVICE);
|
| manager.addAccessibilityStateChangeListener(this);
|
| - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
|
| - mTouchExplorationStateChangeListener = new TouchExplorationStateChangeListener() {
|
| - @Override
|
| - public void onTouchExplorationStateChanged(boolean enabled) {
|
| - checkAccessibility();
|
| - }
|
| - };
|
| - manager.addTouchExplorationStateChangeListener(mTouchExplorationStateChangeListener);
|
| - }
|
| +// if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
|
| +// mTouchExplorationStateChangeListener = new TouchExplorationStateChangeListener() {
|
| +// @Override
|
| +// public void onTouchExplorationStateChanged(boolean enabled) {
|
| +// checkAccessibility();
|
| +// }
|
| +// };
|
| +// manager.addTouchExplorationStateChangeListener(mTouchExplorationStateChangeListener);
|
| +// }
|
|
|
| // Make the activity listen to policy change events
|
| getChromeApplication().addPolicyChangeListener(this);
|
|
|
| // Set up the animation placeholder to be the SurfaceView. This disables the
|
| // SurfaceView's 'hole' clipping during animations that are notified to the window.
|
| - mWindowAndroid.setAnimationPlaceholderView(mCompositorViewHolder.getSurfaceView());
|
| +// mWindowAndroid.setAnimationPlaceholderView(mCompositorViewHolder.getSurfaceView());
|
|
|
| // Inform the WindowAndroid of the keyboard accessory view.
|
| mWindowAndroid.setKeyboardAccessoryView((ViewGroup) findViewById(R.id.keyboard_accessory));
|
| @@ -303,7 +302,7 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
|
| };
|
| controlContainer.getViewTreeObserver().addOnPreDrawListener(mFirstDrawListener);
|
| }
|
| - initializeToolbar();
|
| +// initializeToolbar();
|
| }
|
|
|
| /**
|
| @@ -315,13 +314,13 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
|
| protected final void setContentView() {
|
| final long begin = SystemClock.elapsedRealtime();
|
| TraceEvent.begin("onCreate->setContentView()");
|
| - if (WarmupManager.getInstance().hasBuiltViewHierarchy()) {
|
| - View placeHolderView = new View(this);
|
| - setContentView(placeHolderView);
|
| - ViewGroup contentParent = (ViewGroup) placeHolderView.getParent();
|
| - WarmupManager.getInstance().transferViewHierarchyTo(contentParent);
|
| - contentParent.removeView(placeHolderView);
|
| - } else {
|
| +// if (WarmupManager.getInstance().hasBuiltViewHierarchy()) {
|
| +// View placeHolderView = new View(this);
|
| +// setContentView(placeHolderView);
|
| +// ViewGroup contentParent = (ViewGroup) placeHolderView.getParent();
|
| +// WarmupManager.getInstance().transferViewHierarchyTo(contentParent);
|
| +// contentParent.removeView(placeHolderView);
|
| +// } else {
|
| setContentView(R.layout.main);
|
| if (getControlContainerLayoutId() != NO_CONTROL_CONTAINER) {
|
| ViewStub toolbarContainerStub =
|
| @@ -329,50 +328,50 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
|
| toolbarContainerStub.setLayoutResource(getControlContainerLayoutId());
|
| toolbarContainerStub.inflate();
|
| }
|
| - }
|
| +// }
|
| TraceEvent.end("onCreate->setContentView()");
|
| mInflateInitialLayoutDurationMs = SystemClock.elapsedRealtime() - begin;
|
|
|
| // Set the status bar color to black by default. This is an optimization for
|
| // Chrome not to draw under status and navigation bars when we use the default
|
| // black status bar
|
| - ApiCompatibilityUtils.setStatusBarColor(getWindow(), Color.BLACK);
|
| +// ApiCompatibilityUtils.setStatusBarColor(getWindow(), Color.BLACK);
|
|
|
| - mCompositorViewHolder = (CompositorViewHolder) findViewById(R.id.compositor_view_holder);
|
| - mCompositorViewHolder.setRootView(getWindow().getDecorView().getRootView());
|
| +// mCompositorViewHolder = (CompositorViewHolder) findViewById(R.id.compositor_view_holder);
|
| +// mCompositorViewHolder.setRootView(getWindow().getDecorView().getRootView());
|
|
|
| enableHardwareAcceleration();
|
| }
|
|
|
| - /**
|
| - * Constructs {@link ToolbarManager} and the handler necessary for controlling the menu on the
|
| - * {@link Toolbar}. Extending classes can override this call to avoid creating the toolbar.
|
| - */
|
| - protected void initializeToolbar() {
|
| - final View controlContainer = findViewById(R.id.control_container);
|
| - assert controlContainer != null;
|
| - ToolbarControlContainer toolbarContainer = (ToolbarControlContainer) controlContainer;
|
| - mAppMenuPropertiesDelegate = createAppMenuPropertiesDelegate();
|
| - mAppMenuHandler = sAppMenuHandlerFactory.get(this, mAppMenuPropertiesDelegate,
|
| - getAppMenuLayoutId());
|
| - mToolbarManager = new ToolbarManager(this, toolbarContainer, mAppMenuHandler,
|
| - mAppMenuPropertiesDelegate, getCompositorViewHolder().getInvalidator());
|
| - mAppMenuHandler.addObserver(new AppMenuObserver() {
|
| - @Override
|
| - public void onMenuVisibilityChanged(boolean isVisible) {
|
| - if (!isVisible) {
|
| - mAppMenuPropertiesDelegate.onMenuDismissed();
|
| - }
|
| - }
|
| - });
|
| - }
|
| +// /**
|
| +// * Constructs {@link ToolbarManager} and the handler necessary for controlling the menu on the
|
| +// * {@link Toolbar}. Extending classes can override this call to avoid creating the toolbar.
|
| +// */
|
| +// protected void initializeToolbar() {
|
| +// final View controlContainer = findViewById(R.id.control_container);
|
| +// assert controlContainer != null;
|
| +// ToolbarControlContainer toolbarContainer = (ToolbarControlContainer) controlContainer;
|
| +// mAppMenuPropertiesDelegate = createAppMenuPropertiesDelegate();
|
| +// mAppMenuHandler = sAppMenuHandlerFactory.get(this, mAppMenuPropertiesDelegate,
|
| +// getAppMenuLayoutId());
|
| +// mToolbarManager = new ToolbarManager(this, toolbarContainer, mAppMenuHandler,
|
| +// mAppMenuPropertiesDelegate, getCompositorViewHolder().getInvalidator());
|
| +// mAppMenuHandler.addObserver(new AppMenuObserver() {
|
| +// @Override
|
| +// public void onMenuVisibilityChanged(boolean isVisible) {
|
| +// if (!isVisible) {
|
| +// mAppMenuPropertiesDelegate.onMenuDismissed();
|
| +// }
|
| +// }
|
| +// });
|
| +// }
|
|
|
| /**
|
| * @return {@link ToolbarManager} that belongs to this activity.
|
| */
|
| - protected ToolbarManager getToolbarManager() {
|
| - return mToolbarManager;
|
| - }
|
| +// protected ToolbarManager getToolbarManager() {
|
| +// return mToolbarManager;
|
| +// }
|
|
|
| /**
|
| * @return The resource id for the menu to use in {@link AppMenu}. Default is R.menu.main_menu.
|
| @@ -381,27 +380,27 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
|
| return R.menu.main_menu;
|
| }
|
|
|
| - /**
|
| - * @return {@link ChromeAppMenuPropertiesDelegate} instance that the {@link AppMenuHandler}
|
| - * should be using in this activity.
|
| - */
|
| - protected ChromeAppMenuPropertiesDelegate createAppMenuPropertiesDelegate() {
|
| - return new ChromeAppMenuPropertiesDelegate(this);
|
| - }
|
| +// /**
|
| +// * @return {@link ChromeAppMenuPropertiesDelegate} instance that the {@link AppMenuHandler}
|
| +// * should be using in this activity.
|
| +// */
|
| +// protected ChromeAppMenuPropertiesDelegate createAppMenuPropertiesDelegate() {
|
| +// return new ChromeAppMenuPropertiesDelegate(this);
|
| +// }
|
|
|
| /**
|
| * @return The assist handler for this activity.
|
| */
|
| - protected AssistStatusHandler getAssistStatusHandler() {
|
| - return mAssistStatusHandler;
|
| - }
|
| +// protected AssistStatusHandler getAssistStatusHandler() {
|
| +// return mAssistStatusHandler;
|
| +// }
|
|
|
| /**
|
| * @return A newly constructed assist handler for this given activity type.
|
| */
|
| - protected AssistStatusHandler createAssistStatusHandler() {
|
| - return new AssistStatusHandler(this);
|
| - }
|
| +// protected AssistStatusHandler createAssistStatusHandler() {
|
| +// return new AssistStatusHandler(this);
|
| +// }
|
|
|
| /**
|
| * @return The resource id for the layout to use for {@link ControlContainer}. 0 by default.
|
| @@ -425,181 +424,181 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
|
| mIntentHandler = new IntentHandler(createIntentHandlerDelegate(), getPackageName());
|
| }
|
|
|
| - @Override
|
| - public void initializeCompositor() {
|
| - TraceEvent.begin("ChromeActivity:CompositorInitialization");
|
| - super.initializeCompositor();
|
| -
|
| - setTabContentManager(new TabContentManager(this, getContentOffsetProvider(),
|
| - DeviceClassManager.enableSnapshots()));
|
| - mCompositorViewHolder.onNativeLibraryReady(mWindowAndroid, getTabContentManager());
|
| -
|
| - if (isContextualSearchAllowed() && ContextualSearchFieldTrial.isEnabled()) {
|
| - mContextualSearchManager = new ContextualSearchManager(this, mWindowAndroid, this);
|
| - }
|
| -
|
| - if (ReaderModeManager.isEnabled(this)) {
|
| - mReaderModeActivityDelegate = new ReaderModeActivityDelegate(this);
|
| - }
|
| -
|
| - TraceEvent.end("ChromeActivity:CompositorInitialization");
|
| - }
|
| -
|
| - /**
|
| - * Sets the {@link TabModelSelector} owned by this {@link ChromeActivity}.
|
| - * @param tabModelSelector A {@link TabModelSelector} instance.
|
| - */
|
| - protected void setTabModelSelector(TabModelSelector tabModelSelector) {
|
| - mTabModelSelector = tabModelSelector;
|
| -
|
| - if (mTabModelSelectorTabObserver != null) mTabModelSelectorTabObserver.destroy();
|
| - mTabModelSelectorTabObserver = new TabModelSelectorTabObserver(tabModelSelector) {
|
| - @Override
|
| - public void didFirstVisuallyNonEmptyPaint(Tab tab) {
|
| - if (!tab.isNativePage() && !tab.isIncognito()
|
| - && DataReductionProxySettings.getInstance().wasLoFiModeActiveOnMainFrame()
|
| - && DataReductionProxySettings.getInstance().canUseDataReductionProxy(
|
| - tab.getUrl())) {
|
| - if (tab.isHidden()) {
|
| - TabObserver tabObserver = new EmptyTabObserver() {
|
| - @Override
|
| - public void onShown(Tab tab) {
|
| - mLoFiBarPopupController.showLoFiBar(tab);
|
| - tab.removeObserver(this);
|
| - }
|
| - };
|
| - tab.addObserver(tabObserver);
|
| - return;
|
| - }
|
| - mLoFiBarPopupController.showLoFiBar(tab);
|
| - }
|
| - }
|
| -
|
| - @Override
|
| - public void onHidden(Tab tab) {
|
| - mLoFiBarPopupController.dismissLoFiBar();
|
| - }
|
| -
|
| - @Override
|
| - public void onDestroyed(Tab tab) {
|
| - mLoFiBarPopupController.dismissLoFiBar();
|
| - }
|
| -
|
| - @Override
|
| - public void onLoadStopped(Tab tab) {
|
| - postDeferredStartupIfNeeded();
|
| - showUpdateInfoBarIfNecessary();
|
| - }
|
| -
|
| - @Override
|
| - public void onPageLoadFinished(Tab tab) {
|
| - postDeferredStartupIfNeeded();
|
| - showUpdateInfoBarIfNecessary();
|
| - }
|
| -
|
| - @Override
|
| - public void onCrash(Tab tab, boolean sadTabShown) {
|
| - postDeferredStartupIfNeeded();
|
| - }
|
| -
|
| - @Override
|
| - public void onDidChangeThemeColor(Tab tab, int color) {
|
| - if (getToolbarManager() == null) return;
|
| - if (getActivityTab() != tab) return;
|
| -
|
| - getToolbarManager().updatePrimaryColor(color);
|
| -
|
| - ControlContainer controlContainer =
|
| - (ControlContainer) findViewById(R.id.control_container);
|
| - controlContainer.getToolbarResourceAdapter().invalidate(null);
|
| - }
|
| - };
|
| -
|
| - if (mAssistStatusHandler != null) {
|
| - mAssistStatusHandler.setTabModelSelector(tabModelSelector);
|
| - }
|
| - }
|
| +// @Override
|
| +// public void initializeCompositor() {
|
| +// TraceEvent.begin("ChromeActivity:CompositorInitialization");
|
| +// super.initializeCompositor();
|
| +//
|
| +// setTabContentManager(new TabContentManager(this, getContentOffsetProvider(),
|
| +// DeviceClassManager.enableSnapshots()));
|
| +// mCompositorViewHolder.onNativeLibraryReady(mWindowAndroid, getTabContentManager());
|
| +//
|
| +// if (isContextualSearchAllowed() && ContextualSearchFieldTrial.isEnabled()) {
|
| +// mContextualSearchManager = new ContextualSearchManager(this, mWindowAndroid, this);
|
| +// }
|
| +//
|
| +// if (ReaderModeManager.isEnabled(this)) {
|
| +// mReaderModeActivityDelegate = new ReaderModeActivityDelegate(this);
|
| +// }
|
| +//
|
| +// TraceEvent.end("ChromeActivity:CompositorInitialization");
|
| +// }
|
| +//
|
| +// /**
|
| +// * Sets the {@link TabModelSelector} owned by this {@link ChromeActivity}.
|
| +// * @param tabModelSelector A {@link TabModelSelector} instance.
|
| +// */
|
| +// protected void setTabModelSelector(TabModelSelector tabModelSelector) {
|
| +// mTabModelSelector = tabModelSelector;
|
| +//
|
| +// if (mTabModelSelectorTabObserver != null) mTabModelSelectorTabObserver.destroy();
|
| +// mTabModelSelectorTabObserver = new TabModelSelectorTabObserver(tabModelSelector) {
|
| +// @Override
|
| +// public void didFirstVisuallyNonEmptyPaint(Tab tab) {
|
| +// if (!tab.isNativePage() && !tab.isIncognito()
|
| +// && DataReductionProxySettings.getInstance().wasLoFiModeActiveOnMainFrame()
|
| +// && DataReductionProxySettings.getInstance().canUseDataReductionProxy(
|
| +// tab.getUrl())) {
|
| +// if (tab.isHidden()) {
|
| +// TabObserver tabObserver = new EmptyTabObserver() {
|
| +// @Override
|
| +// public void onShown(Tab tab) {
|
| +// mLoFiBarPopupController.showLoFiBar(tab);
|
| +// tab.removeObserver(this);
|
| +// }
|
| +// };
|
| +// tab.addObserver(tabObserver);
|
| +// return;
|
| +// }
|
| +// mLoFiBarPopupController.showLoFiBar(tab);
|
| +// }
|
| +// }
|
| +//
|
| +// @Override
|
| +// public void onHidden(Tab tab) {
|
| +// mLoFiBarPopupController.dismissLoFiBar();
|
| +// }
|
| +//
|
| +// @Override
|
| +// public void onDestroyed(Tab tab) {
|
| +// mLoFiBarPopupController.dismissLoFiBar();
|
| +// }
|
| +//
|
| +// @Override
|
| +// public void onLoadStopped(Tab tab) {
|
| +// postDeferredStartupIfNeeded();
|
| +// showUpdateInfoBarIfNecessary();
|
| +// }
|
| +//
|
| +// @Override
|
| +// public void onPageLoadFinished(Tab tab) {
|
| +// postDeferredStartupIfNeeded();
|
| +// showUpdateInfoBarIfNecessary();
|
| +// }
|
| +//
|
| +// @Override
|
| +// public void onCrash(Tab tab, boolean sadTabShown) {
|
| +// postDeferredStartupIfNeeded();
|
| +// }
|
| +//
|
| +// @Override
|
| +// public void onDidChangeThemeColor(Tab tab, int color) {
|
| +// if (getToolbarManager() == null) return;
|
| +// if (getActivityTab() != tab) return;
|
| +//
|
| +// getToolbarManager().updatePrimaryColor(color);
|
| +//
|
| +// ControlContainer controlContainer =
|
| +// (ControlContainer) findViewById(R.id.control_container);
|
| +// controlContainer.getToolbarResourceAdapter().invalidate(null);
|
| +// }
|
| +// };
|
| +//
|
| +// if (mAssistStatusHandler != null) {
|
| +// mAssistStatusHandler.setTabModelSelector(tabModelSelector);
|
| +// }
|
| +// }
|
|
|
| @Override
|
| public void onStartWithNative() {
|
| super.onStartWithNative();
|
| getChromeApplication().onStartWithNative();
|
| - Tab tab = getActivityTab();
|
| - if (tab != null) tab.onActivityStart();
|
| - FeatureUtilities.setDocumentModeEnabled(FeatureUtilities.isDocumentMode(this));
|
| - WarmupManager.getInstance().clearWebContentsIfNecessary();
|
| -
|
| - if (GSAState.getInstance(this).isGsaAvailable()) {
|
| - mGSAServiceClient = new GSAServiceClient(this);
|
| - mGSAServiceClient.connect();
|
| - createContextReporterIfNeeded();
|
| - } else {
|
| - ContextReporter.reportStatus(ContextReporter.STATUS_GSA_NOT_AVAILABLE);
|
| - }
|
| - mCompositorViewHolder.resetFlags();
|
| - }
|
| -
|
| - private void createContextReporterIfNeeded() {
|
| - if (mContextReporter != null || getActivityTab() == null) return;
|
| -
|
| - final ProfileSyncService syncService = ProfileSyncService.get(this);
|
| -
|
| - if (syncService.isSyncingUrlsWithKeystorePassphrase()) {
|
| - mContextReporter = ((ChromeApplication) getApplicationContext()).createGsaHelper()
|
| - .getContextReporter(this);
|
| -
|
| - if (mSyncStateChangedListener != null) {
|
| - syncService.removeSyncStateChangedListener(mSyncStateChangedListener);
|
| - mSyncStateChangedListener = null;
|
| - }
|
| -
|
| - return;
|
| - } else {
|
| - ContextReporter.reportSyncStatus(syncService);
|
| - }
|
| -
|
| - if (mSyncStateChangedListener == null) {
|
| - mSyncStateChangedListener = new ProfileSyncService.SyncStateChangedListener() {
|
| - @Override
|
| - public void syncStateChanged() {
|
| - createContextReporterIfNeeded();
|
| - }
|
| - };
|
| - syncService.addSyncStateChangedListener(mSyncStateChangedListener);
|
| - }
|
| - }
|
| +// Tab tab = getActivityTab();
|
| +// if (tab != null) tab.onActivityStart();
|
| +// FeatureUtilities.setDocumentModeEnabled(FeatureUtilities.isDocumentMode(this));
|
| +// WarmupManager.getInstance().clearWebContentsIfNecessary();
|
| +
|
| +// if (GSAState.getInstance(this).isGsaAvailable()) {
|
| +// mGSAServiceClient = new GSAServiceClient(this);
|
| +// mGSAServiceClient.connect();
|
| +// createContextReporterIfNeeded();
|
| +// } else {
|
| +// ContextReporter.reportStatus(ContextReporter.STATUS_GSA_NOT_AVAILABLE);
|
| +// }
|
| +// mCompositorViewHolder.resetFlags();
|
| + }
|
| +
|
| +// private void createContextReporterIfNeeded() {
|
| +// if (mContextReporter != null || getActivityTab() == null) return;
|
| +//
|
| +// final ProfileSyncService syncService = ProfileSyncService.get(this);
|
| +//
|
| +// if (syncService.isSyncingUrlsWithKeystorePassphrase()) {
|
| +// mContextReporter = ((ChromeApplication) getApplicationContext()).createGsaHelper()
|
| +// .getContextReporter(this);
|
| +//
|
| +// if (mSyncStateChangedListener != null) {
|
| +// syncService.removeSyncStateChangedListener(mSyncStateChangedListener);
|
| +// mSyncStateChangedListener = null;
|
| +// }
|
| +//
|
| +// return;
|
| +// } else {
|
| +// ContextReporter.reportSyncStatus(syncService);
|
| +// }
|
| +//
|
| +// if (mSyncStateChangedListener == null) {
|
| +// mSyncStateChangedListener = new ProfileSyncService.SyncStateChangedListener() {
|
| +// @Override
|
| +// public void syncStateChanged() {
|
| +// createContextReporterIfNeeded();
|
| +// }
|
| +// };
|
| +// syncService.addSyncStateChangedListener(mSyncStateChangedListener);
|
| +// }
|
| +// }
|
|
|
| @Override
|
| public void onResumeWithNative() {
|
| super.onResumeWithNative();
|
| - markSessionResume();
|
| +// markSessionResume();
|
|
|
| - if (getActivityTab() != null) {
|
| - LaunchMetrics.commitLaunchMetrics(getActivityTab().getWebContents());
|
| - }
|
| - FeatureUtilities.setCustomTabVisible(isCustomTab());
|
| +// if (getActivityTab() != null) {
|
| +// LaunchMetrics.commitLaunchMetrics(getActivityTab().getWebContents());
|
| +// }
|
| +// FeatureUtilities.setCustomTabVisible(isCustomTab());
|
| }
|
|
|
| @Override
|
| public void onPauseWithNative() {
|
| - markSessionEnd();
|
| +// markSessionEnd();
|
| super.onPauseWithNative();
|
| }
|
|
|
| - @Override
|
| - public void onStopWithNative() {
|
| - if (mAppMenuHandler != null) mAppMenuHandler.hideAppMenu();
|
| - if (mGSAServiceClient != null) {
|
| - mGSAServiceClient.disconnect();
|
| - mGSAServiceClient = null;
|
| - if (mSyncStateChangedListener != null) {
|
| - ProfileSyncService syncService = ProfileSyncService.get(this);
|
| - syncService.removeSyncStateChangedListener(mSyncStateChangedListener);
|
| - mSyncStateChangedListener = null;
|
| - }
|
| - }
|
| - super.onStopWithNative();
|
| - }
|
| +// @Override
|
| +// public void onStopWithNative() {
|
| +// if (mAppMenuHandler != null) mAppMenuHandler.hideAppMenu();
|
| +// if (mGSAServiceClient != null) {
|
| +// mGSAServiceClient.disconnect();
|
| +// mGSAServiceClient = null;
|
| +// if (mSyncStateChangedListener != null) {
|
| +// ProfileSyncService syncService = ProfileSyncService.get(this);
|
| +// syncService.removeSyncStateChangedListener(mSyncStateChangedListener);
|
| +// mSyncStateChangedListener = null;
|
| +// }
|
| +// }
|
| +// super.onStopWithNative();
|
| +// }
|
|
|
| @Override
|
| public void onNewIntentWithNative(Intent intent) {
|
| @@ -609,98 +608,99 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
|
| mIntentHandler.onNewIntent(this, intent);
|
| }
|
|
|
| - @Override
|
| - public boolean hasDoneFirstDraw() {
|
| - return mToolbarManager != null
|
| - ? mToolbarManager.hasDoneFirstDraw() : super.hasDoneFirstDraw();
|
| - }
|
| -
|
| - /**
|
| - * @return Whether the given activity contains a {@link CustomTab}.
|
| - */
|
| - private boolean isCustomTab() {
|
| - return this instanceof CustomTabActivity;
|
| - }
|
| -
|
| - @Override
|
| - protected void onDeferredStartup() {
|
| - super.onDeferredStartup();
|
| - boolean crashDumpUploadingDisabled = getIntent() != null
|
| - && getIntent().hasExtra(
|
| - ChromeTabbedActivity.INTENT_EXTRA_DISABLE_CRASH_DUMP_UPLOADING);
|
| - DeferredStartupHandler.getInstance()
|
| - .onDeferredStartup(getChromeApplication(), crashDumpUploadingDisabled);
|
| -
|
| - BeamController.registerForBeam(this, new BeamProvider() {
|
| - @Override
|
| - public String getTabUrlForBeam() {
|
| - if (isOverlayVisible()) return null;
|
| - if (getActivityTab() == null) return null;
|
| - return getActivityTab().getUrl();
|
| - }
|
| - });
|
| -
|
| - getChromeApplication().getUpdateInfoBarHelper().checkForUpdateOnBackgroundThread(this);
|
| -
|
| - removeSnapshotDatabase();
|
| - if (mToolbarManager != null) {
|
| - String simpleName = getClass().getSimpleName();
|
| - RecordHistogram.recordTimesHistogram("MobileStartup.ToolbarInflationTime." + simpleName,
|
| - mInflateInitialLayoutDurationMs, TimeUnit.MILLISECONDS);
|
| - mToolbarManager.onDeferredStartup(getOnCreateTimestampMs(), simpleName);
|
| - }
|
| - }
|
| -
|
| - @Override
|
| - public void onStart() {
|
| - super.onStart();
|
| - if (mContextReporter != null) mContextReporter.enable();
|
| -
|
| - if (mPartnerBrowserRefreshNeeded) {
|
| - mPartnerBrowserRefreshNeeded = false;
|
| - PartnerBrowserCustomizations.initializeAsync(getApplicationContext(),
|
| - PARTNER_BROWSER_CUSTOMIZATIONS_TIMEOUT_MS);
|
| - PartnerBrowserCustomizations.setOnInitializeAsyncFinished(new Runnable() {
|
| - @Override
|
| - public void run() {
|
| - if (PartnerBrowserCustomizations.isIncognitoDisabled()) {
|
| - terminateIncognitoSession();
|
| - }
|
| - }
|
| - });
|
| - }
|
| - if (mCompositorViewHolder != null) mCompositorViewHolder.onStart();
|
| - }
|
| +// @Override
|
| +// public boolean hasDoneFirstDraw() {
|
| +// return mToolbarManager != null
|
| +// ? mToolbarManager.hasDoneFirstDraw() : super.hasDoneFirstDraw();
|
| +// }
|
| +
|
| +// /**
|
| +// * @return Whether the given activity contains a {@link CustomTab}.
|
| +// */
|
| +// private boolean isCustomTab() {
|
| +// return this instanceof CustomTabActivity;
|
| +// }
|
| +
|
| +// @Override
|
| +// protected void onDeferredStartup() {
|
| +// super.onDeferredStartup();
|
| +// boolean crashDumpUploadingDisabled = getIntent() != null
|
| +// && getIntent().hasExtra(
|
| +// ChromeTabbedActivity.INTENT_EXTRA_DISABLE_CRASH_DUMP_UPLOADING);
|
| +// DeferredStartupHandler.getInstance()
|
| +// .onDeferredStartup(getChromeApplication(), crashDumpUploadingDisabled);
|
| +//
|
| +//// BeamController.registerForBeam(this, new BeamProvider() {
|
| +//// @Override
|
| +//// public String getTabUrlForBeam() {
|
| +//// return null;
|
| +////// if (isOverlayVisible()) return null;
|
| +////// if (getActivityTab() == null) return null;
|
| +////// return getActivityTab().getUrl();
|
| +//// }
|
| +//// });
|
| +//
|
| +//// getChromeApplication().getUpdateInfoBarHelper().checkForUpdateOnBackgroundThread(this);
|
| +//
|
| +// removeSnapshotDatabase();
|
| +//// if (mToolbarManager != null) {
|
| +//// String simpleName = getClass().getSimpleName();
|
| +//// RecordHistogram.recordTimesHistogram("MobileStartup.ToolbarInflationTime." + simpleName,
|
| +//// mInflateInitialLayoutDurationMs, TimeUnit.MILLISECONDS);
|
| +//// mToolbarManager.onDeferredStartup(getOnCreateTimestampMs(), simpleName);
|
| +//// }
|
| +// }
|
| +
|
| +// @Override
|
| +// public void onStart() {
|
| +// super.onStart();
|
| +//// if (mContextReporter != null) mContextReporter.enable();
|
| +//
|
| +// if (mPartnerBrowserRefreshNeeded) {
|
| +// mPartnerBrowserRefreshNeeded = false;
|
| +// PartnerBrowserCustomizations.initializeAsync(getApplicationContext(),
|
| +// PARTNER_BROWSER_CUSTOMIZATIONS_TIMEOUT_MS);
|
| +// PartnerBrowserCustomizations.setOnInitializeAsyncFinished(new Runnable() {
|
| +// @Override
|
| +// public void run() {
|
| +// if (PartnerBrowserCustomizations.isIncognitoDisabled()) {
|
| +// terminateIncognitoSession();
|
| +// }
|
| +// }
|
| +// });
|
| +// }
|
| +//// if (mCompositorViewHolder != null) mCompositorViewHolder.onStart();
|
| +// }
|
|
|
| @Override
|
| public void onStop() {
|
| super.onStop();
|
| - if (mContextReporter != null) mContextReporter.disable();
|
| +// if (mContextReporter != null) mContextReporter.disable();
|
|
|
| // We want to refresh partner browser provider every onStart().
|
| mPartnerBrowserRefreshNeeded = true;
|
| - if (mCompositorViewHolder != null) mCompositorViewHolder.onStop();
|
| +// if (mCompositorViewHolder != null) mCompositorViewHolder.onStop();
|
| }
|
|
|
| @Override
|
| public void onPause() {
|
| super.onPause();
|
| - if (mSnackbarManager != null) mSnackbarManager.dismissSnackbar(false);
|
| - }
|
| -
|
| - // @TargetApi(Build.VERSION_CODES.M) TODO(sgurun) add method document once API is public
|
| - // crbug/512264
|
| - // @Override
|
| - public void onProvideAssistContent(AssistContent outContent) {
|
| - if (getAssistStatusHandler() == null || !getAssistStatusHandler().isAssistSupported()) {
|
| - // No information is provided in incognito mode.
|
| - return;
|
| - }
|
| - Tab tab = getActivityTab();
|
| - if (tab != null && !isInOverviewMode()) {
|
| - outContent.setWebUri(Uri.parse(tab.getUrl()));
|
| - }
|
| - }
|
| +// if (mSnackbarManager != null) mSnackbarManager.dismissSnackbar(false);
|
| + }
|
| +
|
| +// // @TargetApi(Build.VERSION_CODES.M) TODO(sgurun) add method document once API is public
|
| +// // crbug/512264
|
| +// // @Override
|
| +// public void onProvideAssistContent(AssistContent outContent) {
|
| +// if (getAssistStatusHandler() == null || !getAssistStatusHandler().isAssistSupported()) {
|
| +// // No information is provided in incognito mode.
|
| +// return;
|
| +// }
|
| +// Tab tab = getActivityTab();
|
| +// if (tab != null && !isInOverviewMode()) {
|
| +// outContent.setWebUri(Uri.parse(tab.getUrl()));
|
| +// }
|
| +// }
|
|
|
| @Override
|
| public long getOnCreateTimestampMs() {
|
| @@ -714,19 +714,19 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
|
| @SuppressLint("NewApi")
|
| @Override
|
| protected final void onDestroy() {
|
| - if (mReaderModeActivityDelegate != null) mReaderModeActivityDelegate.destroy();
|
| - if (mContextualSearchManager != null) mContextualSearchManager.destroy();
|
| - if (mTabModelSelectorTabObserver != null) mTabModelSelectorTabObserver.destroy();
|
| - if (mCompositorViewHolder != null) {
|
| - if (mCompositorViewHolder.getLayoutManager() != null) {
|
| - mCompositorViewHolder.getLayoutManager().removeSceneChangeObserver(this);
|
| - }
|
| - mCompositorViewHolder.shutDown();
|
| - }
|
| - onDestroyInternal();
|
| -
|
| - TabModelSelector selector = getTabModelSelector();
|
| - if (selector != null) selector.destroy();
|
| +// if (mReaderModeActivityDelegate != null) mReaderModeActivityDelegate.destroy();
|
| +// if (mContextualSearchManager != null) mContextualSearchManager.destroy();
|
| +// if (mTabModelSelectorTabObserver != null) mTabModelSelectorTabObserver.destroy();
|
| +// if (mCompositorViewHolder != null) {
|
| +// if (mCompositorViewHolder.getLayoutManager() != null) {
|
| +// mCompositorViewHolder.getLayoutManager().removeSceneChangeObserver(this);
|
| +// }
|
| +// mCompositorViewHolder.shutDown();
|
| +// }
|
| +// onDestroyInternal();
|
| +
|
| +// TabModelSelector selector = getTabModelSelector();
|
| +// if (selector != null) selector.destroy();
|
|
|
| if (mWindowAndroid != null) mWindowAndroid.destroy();
|
| if (!Locale.getDefault().equals(mCurrentLocale)) {
|
| @@ -742,8 +742,8 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
|
| Process.killProcess(Process.myPid());
|
| }
|
| getChromeApplication().removePolicyChangeListener(this);
|
| - if (mTabContentManager != null) mTabContentManager.destroy();
|
| - if (mTabModelSelectorTabObserver != null) mTabModelSelectorTabObserver.destroy();
|
| +// if (mTabContentManager != null) mTabContentManager.destroy();
|
| +// if (mTabModelSelectorTabObserver != null) mTabModelSelectorTabObserver.destroy();
|
|
|
| AccessibilityManager manager = (AccessibilityManager)
|
| getBaseContext().getSystemService(Context.ACCESSIBILITY_SERVICE);
|
| @@ -762,9 +762,9 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
|
| * After returning from this, the {@link TabModelSelector} will be destroyed followed
|
| * by the {@link WindowAndroid}.
|
| */
|
| - protected void onDestroyInternal() {
|
| - if (mToolbarManager != null) mToolbarManager.destroy();
|
| - }
|
| +// protected void onDestroyInternal() {
|
| +// if (mToolbarManager != null) mToolbarManager.destroy();
|
| +// }
|
|
|
| /**
|
| * This will handle passing {@link Intent} results back to the {@link WindowAndroid}. It will
|
| @@ -791,13 +791,13 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
|
| mWindowAndroid.saveInstanceState(outState);
|
| }
|
|
|
| - /**
|
| - * @return The unified manager for all snackbar related operations.
|
| - */
|
| - @Override
|
| - public SnackbarManager getSnackbarManager() {
|
| - return mSnackbarManager;
|
| - }
|
| +// /**
|
| +// * @return The unified manager for all snackbar related operations.
|
| +// */
|
| +// @Override
|
| +// public SnackbarManager getSnackbarManager() {
|
| +// return mSnackbarManager;
|
| +// }
|
|
|
| /**
|
| * Called when the accessibility status of this device changes. This might be triggered by
|
| @@ -807,56 +807,56 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
|
| * @see #onTouchExplorationStateChanged(boolean)
|
| * @param enabled Whether or not accessibility and touch exploration are currently enabled.
|
| */
|
| - protected void onAccessibilityModeChanged(boolean enabled) {
|
| - InfoBarContainer.setIsAllowedToAutoHide(!enabled);
|
| - if (mToolbarManager != null) mToolbarManager.onAccessibilityStatusChanged(enabled);
|
| - }
|
| -
|
| - @Override
|
| - public boolean onOptionsItemSelected(MenuItem item) {
|
| - if (item != null && onMenuOrKeyboardAction(item.getItemId(), true)) {
|
| - return true;
|
| - }
|
| - return super.onOptionsItemSelected(item);
|
| - }
|
| -
|
| - /**
|
| - * Triggered when the share menu item is selected.
|
| - * This creates and shows a share intent picker dialog or starts a share intent directly.
|
| - *
|
| - * @param currentTab The {@link Tab} a user is watching.
|
| - * @param windowAndroid The {@link WindowAndroid} currentTab is linked to.
|
| - * @param shareDirectly Whether it should share directly with the activity that was most
|
| - * recently used to share.
|
| - * @param isIncognito Whether currentTab is incognito.
|
| - */
|
| - public void onShareMenuItemSelected(final Tab currentTab,
|
| - final WindowAndroid windowAndroid, final boolean shareDirectly, boolean isIncognito) {
|
| - if (currentTab == null) return;
|
| -
|
| - final Activity mainActivity = this;
|
| - ContentReadbackHandler.GetBitmapCallback bitmapCallback =
|
| - new ContentReadbackHandler.GetBitmapCallback() {
|
| - @Override
|
| - public void onFinishGetBitmap(Bitmap bitmap, int reponse) {
|
| - ShareHelper.share(shareDirectly, mainActivity, currentTab.getTitle(),
|
| - currentTab.getUrl(), bitmap);
|
| - if (shareDirectly) {
|
| - RecordUserAction.record("MobileMenuDirectShare");
|
| - } else {
|
| - RecordUserAction.record("MobileMenuShare");
|
| - }
|
| - }
|
| - };
|
| - ContentReadbackHandler readbackHandler = getContentReadbackHandler();
|
| - if (isIncognito || readbackHandler == null || windowAndroid == null
|
| - || currentTab.getContentViewCore() == null) {
|
| - bitmapCallback.onFinishGetBitmap(null, ReadbackResponse.SURFACE_UNAVAILABLE);
|
| - } else {
|
| - readbackHandler.getContentBitmapAsync(1, new Rect(), currentTab.getContentViewCore(),
|
| - Bitmap.Config.ARGB_8888, bitmapCallback);
|
| - }
|
| - }
|
| +// protected void onAccessibilityModeChanged(boolean enabled) {
|
| +// InfoBarContainer.setIsAllowedToAutoHide(!enabled);
|
| +// if (mToolbarManager != null) mToolbarManager.onAccessibilityStatusChanged(enabled);
|
| +// }
|
| +
|
| +// @Override
|
| +// public boolean onOptionsItemSelected(MenuItem item) {
|
| +// if (item != null && onMenuOrKeyboardAction(item.getItemId(), true)) {
|
| +// return true;
|
| +// }
|
| +// return super.onOptionsItemSelected(item);
|
| +// }
|
| +
|
| +// /**
|
| +// * Triggered when the share menu item is selected.
|
| +// * This creates and shows a share intent picker dialog or starts a share intent directly.
|
| +// *
|
| +// * @param currentTab The {@link Tab} a user is watching.
|
| +// * @param windowAndroid The {@link WindowAndroid} currentTab is linked to.
|
| +// * @param shareDirectly Whether it should share directly with the activity that was most
|
| +// * recently used to share.
|
| +// * @param isIncognito Whether currentTab is incognito.
|
| +// */
|
| +// public void onShareMenuItemSelected(final Tab currentTab,
|
| +// final WindowAndroid windowAndroid, final boolean shareDirectly, boolean isIncognito) {
|
| +// if (currentTab == null) return;
|
| +//
|
| +// final Activity mainActivity = this;
|
| +// ContentReadbackHandler.GetBitmapCallback bitmapCallback =
|
| +// new ContentReadbackHandler.GetBitmapCallback() {
|
| +// @Override
|
| +// public void onFinishGetBitmap(Bitmap bitmap, int reponse) {
|
| +// ShareHelper.share(shareDirectly, mainActivity, currentTab.getTitle(),
|
| +// currentTab.getUrl(), bitmap);
|
| +// if (shareDirectly) {
|
| +// RecordUserAction.record("MobileMenuDirectShare");
|
| +// } else {
|
| +// RecordUserAction.record("MobileMenuShare");
|
| +// }
|
| +// }
|
| +// };
|
| +// ContentReadbackHandler readbackHandler = getContentReadbackHandler();
|
| +// if (isIncognito || readbackHandler == null || windowAndroid == null
|
| +// || currentTab.getContentViewCore() == null) {
|
| +// bitmapCallback.onFinishGetBitmap(null, ReadbackResponse.SURFACE_UNAVAILABLE);
|
| +// } else {
|
| +// readbackHandler.getContentBitmapAsync(1, new Rect(), currentTab.getContentViewCore(),
|
| +// Bitmap.Config.ARGB_8888, bitmapCallback);
|
| +// }
|
| +// }
|
|
|
| /**
|
| * @return Whether the activity is in overview mode.
|
| @@ -869,10 +869,10 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
|
| * @return Whether the app menu should be shown.
|
| */
|
| public boolean shouldShowAppMenu() {
|
| - // Do not show the menu if Contextual Search Panel is opened.
|
| - if (mContextualSearchManager != null && mContextualSearchManager.isSearchPanelOpened()) {
|
| - return false;
|
| - }
|
| +// // Do not show the menu if Contextual Search Panel is opened.
|
| +// if (mContextualSearchManager != null && mContextualSearchManager.isSearchPanelOpened()) {
|
| +// return false;
|
| +// }
|
|
|
| return true;
|
| }
|
| @@ -908,14 +908,14 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
|
| return R.dimen.control_container_height;
|
| }
|
|
|
| - @Override
|
| - public final void onAccessibilityStateChanged(boolean enabled) {
|
| - checkAccessibility();
|
| - }
|
| +// @Override
|
| +// public final void onAccessibilityStateChanged(boolean enabled) {
|
| +// checkAccessibility();
|
| +// }
|
|
|
| - private void checkAccessibility() {
|
| - onAccessibilityModeChanged(DeviceClassManager.isAccessibilityModeEnabled(this));
|
| - }
|
| +// private void checkAccessibility() {
|
| +// onAccessibilityModeChanged(DeviceClassManager.isAccessibilityModeEnabled(this));
|
| +// }
|
|
|
| /**
|
| * @return A casted version of {@link #getApplication()}.
|
| @@ -936,132 +936,132 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
|
| * already bookmarked. If a new bookmark is added, a snackbar will be shown.
|
| * @param tabToBookmark The tab that needs to be bookmarked.
|
| */
|
| - public void addOrEditBookmark(final Tab tabToBookmark) {
|
| - if (tabToBookmark == null || tabToBookmark.isFrozen()) {
|
| - return;
|
| - }
|
| -
|
| - assert mToolbarManager.getBookmarksBridge().isEditBookmarksEnabled();
|
| -
|
| - // Note the use of getUserBookmarkId() over getBookmarkId() here: Managed bookmarks can't be
|
| - // edited. If the current URL is only bookmarked by managed bookmarks, this will return
|
| - // INVALID_BOOKMARK_ID, so the code below will fall back on adding a new bookmark instead.
|
| - // TODO(bauerb): This does not take partner bookmarks into account.
|
| - final long bookmarkId = tabToBookmark.getUserBookmarkId();
|
| -
|
| - if (EnhancedBookmarkUtils.isEnhancedBookmarkEnabled(tabToBookmark.getProfile())) {
|
| - final EnhancedBookmarksModel bookmarkModel = new EnhancedBookmarksModel();
|
| - if (bookmarkModel.isBookmarkModelLoaded()) {
|
| - EnhancedBookmarkUtils.addOrEditBookmark(bookmarkId, bookmarkModel,
|
| - tabToBookmark, getSnackbarManager(), ChromeActivity.this);
|
| - } else if (mBookmarkObserver == null) {
|
| - mBookmarkObserver = new BookmarkModelObserver() {
|
| - @Override
|
| - public void bookmarkModelChanged() {}
|
| -
|
| - @Override
|
| - public void bookmarkModelLoaded() {
|
| - EnhancedBookmarkUtils.addOrEditBookmark(bookmarkId, bookmarkModel,
|
| - tabToBookmark, getSnackbarManager(), ChromeActivity.this);
|
| - bookmarkModel.removeObserver(this);
|
| - }
|
| - };
|
| - bookmarkModel.addObserver(mBookmarkObserver);
|
| - }
|
| - } else {
|
| - Intent intent = new Intent(this, ManageBookmarkActivity.class);
|
| - if (bookmarkId == ChromeBrowserProviderClient.INVALID_BOOKMARK_ID) {
|
| - intent.putExtra(ManageBookmarkActivity.BOOKMARK_INTENT_IS_FOLDER, false);
|
| - intent.putExtra(ManageBookmarkActivity.BOOKMARK_INTENT_TITLE,
|
| - tabToBookmark.getTitle());
|
| - intent.putExtra(ManageBookmarkActivity.BOOKMARK_INTENT_URL, tabToBookmark.getUrl());
|
| - } else {
|
| - intent.putExtra(ManageBookmarkActivity.BOOKMARK_INTENT_IS_FOLDER, false);
|
| - intent.putExtra(ManageBookmarkActivity.BOOKMARK_INTENT_ID, bookmarkId);
|
| - }
|
| - startActivity(intent);
|
| - }
|
| - }
|
| +// public void addOrEditBookmark(final Tab tabToBookmark) {
|
| +// if (tabToBookmark == null || tabToBookmark.isFrozen()) {
|
| +// return;
|
| +// }
|
| +//
|
| +// assert mToolbarManager.getBookmarksBridge().isEditBookmarksEnabled();
|
| +//
|
| +// // Note the use of getUserBookmarkId() over getBookmarkId() here: Managed bookmarks can't be
|
| +// // edited. If the current URL is only bookmarked by managed bookmarks, this will return
|
| +// // INVALID_BOOKMARK_ID, so the code below will fall back on adding a new bookmark instead.
|
| +// // TODO(bauerb): This does not take partner bookmarks into account.
|
| +// final long bookmarkId = tabToBookmark.getUserBookmarkId();
|
| +//
|
| +// if (EnhancedBookmarkUtils.isEnhancedBookmarkEnabled(tabToBookmark.getProfile())) {
|
| +// final EnhancedBookmarksModel bookmarkModel = new EnhancedBookmarksModel();
|
| +// if (bookmarkModel.isBookmarkModelLoaded()) {
|
| +// EnhancedBookmarkUtils.addOrEditBookmark(bookmarkId, bookmarkModel,
|
| +// tabToBookmark, getSnackbarManager(), ChromeActivity.this);
|
| +// } else if (mBookmarkObserver == null) {
|
| +// mBookmarkObserver = new BookmarkModelObserver() {
|
| +// @Override
|
| +// public void bookmarkModelChanged() {}
|
| +//
|
| +// @Override
|
| +// public void bookmarkModelLoaded() {
|
| +// EnhancedBookmarkUtils.addOrEditBookmark(bookmarkId, bookmarkModel,
|
| +// tabToBookmark, getSnackbarManager(), ChromeActivity.this);
|
| +// bookmarkModel.removeObserver(this);
|
| +// }
|
| +// };
|
| +// bookmarkModel.addObserver(mBookmarkObserver);
|
| +// }
|
| +// } else {
|
| +// Intent intent = new Intent(this, ManageBookmarkActivity.class);
|
| +// if (bookmarkId == ChromeBrowserProviderClient.INVALID_BOOKMARK_ID) {
|
| +// intent.putExtra(ManageBookmarkActivity.BOOKMARK_INTENT_IS_FOLDER, false);
|
| +// intent.putExtra(ManageBookmarkActivity.BOOKMARK_INTENT_TITLE,
|
| +// tabToBookmark.getTitle());
|
| +// intent.putExtra(ManageBookmarkActivity.BOOKMARK_INTENT_URL, tabToBookmark.getUrl());
|
| +// } else {
|
| +// intent.putExtra(ManageBookmarkActivity.BOOKMARK_INTENT_IS_FOLDER, false);
|
| +// intent.putExtra(ManageBookmarkActivity.BOOKMARK_INTENT_ID, bookmarkId);
|
| +// }
|
| +// startActivity(intent);
|
| +// }
|
| +// }
|
|
|
| /**
|
| * {@link TabModelSelector} no longer implements TabModel. Use getTabModelSelector() or
|
| * getCurrentTabModel() depending on your needs.
|
| * @return The {@link TabModelSelector}, possibly null.
|
| */
|
| - public TabModelSelector getTabModelSelector() {
|
| - return mTabModelSelector;
|
| - }
|
| -
|
| - @Override
|
| - public TabCreatorManager.TabCreator getTabCreator(boolean incognito) {
|
| - return incognito ? mIncognitoTabCreator : mRegularTabCreator;
|
| - }
|
| -
|
| - /**
|
| - * Sets the {@link ChromeTabCreator}s owned by this {@link ChromeActivity}.
|
| - * @param regularTabCreator A {@link ChromeTabCreator} instance.
|
| - */
|
| - public void setTabCreators(TabCreatorManager.TabCreator regularTabCreator,
|
| - TabCreatorManager.TabCreator incognitoTabCreator) {
|
| - mRegularTabCreator = regularTabCreator;
|
| - mIncognitoTabCreator = incognitoTabCreator;
|
| - }
|
| -
|
| - /**
|
| - * Convenience method that returns a tab creator for the currently selected {@link TabModel}.
|
| - * @return A tab creator for the currently selected {@link TabModel}.
|
| - */
|
| - public TabCreatorManager.TabCreator getCurrentTabCreator() {
|
| - return getTabCreator(getTabModelSelector().isIncognitoSelected());
|
| - }
|
| -
|
| - /**
|
| - * Gets the {@link TabContentManager} instance which holds snapshots of the tabs in this model.
|
| - * @return The thumbnail cache, possibly null.
|
| - */
|
| - public TabContentManager getTabContentManager() {
|
| - return mTabContentManager;
|
| - }
|
| -
|
| - /**
|
| - * Sets the {@link TabContentManager} owned by this {@link ChromeActivity}.
|
| - * @param tabContentManager A {@link TabContentManager} instance.
|
| - */
|
| - protected void setTabContentManager(TabContentManager tabContentManager) {
|
| - mTabContentManager = tabContentManager;
|
| - }
|
| -
|
| - /**
|
| - * Gets the current (inner) TabModel. This is a convenience function for
|
| - * getModelSelector().getCurrentModel(). It is *not* equivalent to the former getModel()
|
| - * @return Never null, if modelSelector or its field is uninstantiated returns a
|
| - * {@link EmptyTabModel} singleton
|
| - */
|
| - public TabModel getCurrentTabModel() {
|
| - TabModelSelector modelSelector = getTabModelSelector();
|
| - if (modelSelector == null) return EmptyTabModel.getInstance();
|
| - return modelSelector.getCurrentModel();
|
| - }
|
| -
|
| - /**
|
| - * Returns the tab being displayed by this ChromeActivity instance. This allows differentiation
|
| - * between ChromeActivity subclasses that swap between multiple tabs (e.g. ChromeTabbedActivity)
|
| - * and subclasses that only display one Tab (e.g. FullScreenActivity and DocumentActivity).
|
| - *
|
| - * The default implementation grabs the tab currently selected by the TabModel, which may be
|
| - * null if the Tab does not exist or the system is not initialized.
|
| - */
|
| - public Tab getActivityTab() {
|
| - return TabModelUtils.getCurrentTab(getCurrentTabModel());
|
| - }
|
| -
|
| - /**
|
| - * @return The current ContentViewCore, or null if the tab does not exist or is not showing a
|
| - * ContentViewCore.
|
| - */
|
| - public ContentViewCore getCurrentContentViewCore() {
|
| - return TabModelUtils.getCurrentContentViewCore(getCurrentTabModel());
|
| - }
|
| +// public TabModelSelector getTabModelSelector() {
|
| +// return mTabModelSelector;
|
| +// }
|
| +//
|
| +// @Override
|
| +// public TabCreatorManager.TabCreator getTabCreator(boolean incognito) {
|
| +// return incognito ? mIncognitoTabCreator : mRegularTabCreator;
|
| +// }
|
| +//
|
| +// /**
|
| +// * Sets the {@link ChromeTabCreator}s owned by this {@link ChromeActivity}.
|
| +// * @param regularTabCreator A {@link ChromeTabCreator} instance.
|
| +// */
|
| +// public void setTabCreators(TabCreatorManager.TabCreator regularTabCreator,
|
| +// TabCreatorManager.TabCreator incognitoTabCreator) {
|
| +// mRegularTabCreator = regularTabCreator;
|
| +// mIncognitoTabCreator = incognitoTabCreator;
|
| +// }
|
| +//
|
| +// /**
|
| +// * Convenience method that returns a tab creator for the currently selected {@link TabModel}.
|
| +// * @return A tab creator for the currently selected {@link TabModel}.
|
| +// */
|
| +// public TabCreatorManager.TabCreator getCurrentTabCreator() {
|
| +// return getTabCreator(getTabModelSelector().isIncognitoSelected());
|
| +// }
|
| +//
|
| +// /**
|
| +// * Gets the {@link TabContentManager} instance which holds snapshots of the tabs in this model.
|
| +// * @return The thumbnail cache, possibly null.
|
| +// */
|
| +// public TabContentManager getTabContentManager() {
|
| +// return mTabContentManager;
|
| +// }
|
| +//
|
| +// /**
|
| +// * Sets the {@link TabContentManager} owned by this {@link ChromeActivity}.
|
| +// * @param tabContentManager A {@link TabContentManager} instance.
|
| +// */
|
| +// protected void setTabContentManager(TabContentManager tabContentManager) {
|
| +// mTabContentManager = tabContentManager;
|
| +// }
|
| +//
|
| +// /**
|
| +// * Gets the current (inner) TabModel. This is a convenience function for
|
| +// * getModelSelector().getCurrentModel(). It is *not* equivalent to the former getModel()
|
| +// * @return Never null, if modelSelector or its field is uninstantiated returns a
|
| +// * {@link EmptyTabModel} singleton
|
| +// */
|
| +// public TabModel getCurrentTabModel() {
|
| +// TabModelSelector modelSelector = getTabModelSelector();
|
| +// if (modelSelector == null) return EmptyTabModel.getInstance();
|
| +// return modelSelector.getCurrentModel();
|
| +// }
|
| +//
|
| +// /**
|
| +// * Returns the tab being displayed by this ChromeActivity instance. This allows differentiation
|
| +// * between ChromeActivity subclasses that swap between multiple tabs (e.g. ChromeTabbedActivity)
|
| +// * and subclasses that only display one Tab (e.g. FullScreenActivity and DocumentActivity).
|
| +// *
|
| +// * The default implementation grabs the tab currently selected by the TabModel, which may be
|
| +// * null if the Tab does not exist or the system is not initialized.
|
| +// */
|
| +// public Tab getActivityTab() {
|
| +// return TabModelUtils.getCurrentTab(getCurrentTabModel());
|
| +// }
|
| +//
|
| +// /**
|
| +// * @return The current ContentViewCore, or null if the tab does not exist or is not showing a
|
| +// * ContentViewCore.
|
| +// */
|
| +// public ContentViewCore getCurrentContentViewCore() {
|
| +// return TabModelUtils.getCurrentContentViewCore(getCurrentTabModel());
|
| +// }
|
|
|
| /**
|
| * @return A {@link WindowAndroid} instance.
|
| @@ -1073,124 +1073,124 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
|
| /**
|
| * @return A {@link CompositorViewHolder} instance.
|
| */
|
| - public CompositorViewHolder getCompositorViewHolder() {
|
| - return mCompositorViewHolder;
|
| - }
|
| -
|
| - /**
|
| - * Gets the full screen manager.
|
| - * @return The fullscreen manager, possibly null
|
| - */
|
| - public ChromeFullscreenManager getFullscreenManager() {
|
| - return mFullscreenManager;
|
| - }
|
| -
|
| - /**
|
| - * @return The content offset provider, may be null.
|
| - */
|
| - public ContentOffsetProvider getContentOffsetProvider() {
|
| - return mCompositorViewHolder.getContentOffsetProvider();
|
| - }
|
| -
|
| - /**
|
| - * @return The content readback handler, may be null.
|
| - */
|
| - public ContentReadbackHandler getContentReadbackHandler() {
|
| - return mCompositorViewHolder.getContentReadbackHandler();
|
| - }
|
| -
|
| - /**
|
| - * Starts asynchronously taking the compositor activity screenshot.
|
| - * @param getBitmapCallback The callback to call once the screenshot is taken, or when failed.
|
| - */
|
| - public void startTakingCompositorActivityScreenshot(final GetBitmapCallback getBitmapCallback) {
|
| - ContentReadbackHandler readbackHandler = getContentReadbackHandler();
|
| - if (readbackHandler == null || getWindowAndroid() == null) {
|
| - ThreadUtils.postOnUiThread(new Runnable() {
|
| - @Override
|
| - public void run() {
|
| - getBitmapCallback.onFinishGetBitmap(null, ReadbackResponse.SURFACE_UNAVAILABLE);
|
| - }
|
| - });
|
| - } else {
|
| - readbackHandler.getCompositorBitmapAsync(getWindowAndroid(), getBitmapCallback);
|
| - }
|
| - }
|
| -
|
| - /**
|
| - * @return The {@code ContextualSearchManager} or {@code null} if none;
|
| - */
|
| - public ContextualSearchManager getContextualSearchManager() {
|
| - return mContextualSearchManager;
|
| - }
|
| -
|
| - /**
|
| - * @return A {@link ReaderModeActivityDelegate} instance or {@code null} if reader mode is
|
| - * not enabled.
|
| - */
|
| - public ReaderModeActivityDelegate getReaderModeActivityDelegate() {
|
| - return mReaderModeActivityDelegate;
|
| - }
|
| -
|
| - /**
|
| - * Create a full-screen manager to be used by this activity.
|
| - * @param controlContainer The control container that will be controlled by the full-screen
|
| - * manager.
|
| - * @return A {@link ChromeFullscreenManager} instance that's been created.
|
| - */
|
| - protected ChromeFullscreenManager createFullscreenManager(View controlContainer) {
|
| - return new ChromeFullscreenManager(this, controlContainer, getTabModelSelector(),
|
| - getControlContainerHeightResource(), true);
|
| - }
|
| -
|
| - /**
|
| - * Initializes the {@link CompositorViewHolder} with the relevant content it needs to properly
|
| - * show content on the screen.
|
| - * @param layoutManager A {@link LayoutManagerDocument} instance. This class is
|
| - * responsible for driving all high level screen content and
|
| - * determines which {@link Layout} is shown when.
|
| - * @param urlBar The {@link View} representing the URL bar (must be
|
| - * focusable) or {@code null} if none exists.
|
| - * @param contentContainer A {@link ViewGroup} that can have content attached by
|
| - * {@link Layout}s.
|
| - * @param controlContainer A {@link ControlContainer} instance to draw.
|
| - */
|
| - protected void initializeCompositorContent(
|
| - LayoutManagerDocument layoutManager, View urlBar, ViewGroup contentContainer,
|
| - ControlContainer controlContainer) {
|
| - CommandLine commandLine = CommandLine.getInstance();
|
| - boolean enableFullscreen = !commandLine.hasSwitch(ChromeSwitches.DISABLE_FULLSCREEN);
|
| -
|
| - if (enableFullscreen && controlContainer != null) {
|
| - mFullscreenManager = createFullscreenManager((View) controlContainer);
|
| - }
|
| -
|
| - if (mContextualSearchManager != null) {
|
| - mContextualSearchManager.initialize(contentContainer);
|
| - mContextualSearchManager.setSearchContentViewDelegate(layoutManager);
|
| - }
|
| -
|
| - if (mReaderModeActivityDelegate != null) {
|
| - mReaderModeActivityDelegate.initialize(contentContainer);
|
| - mReaderModeActivityDelegate.setDynamicResourceLoader(
|
| - mCompositorViewHolder.getDynamicResourceLoader());
|
| - }
|
| -
|
| - layoutManager.addSceneChangeObserver(this);
|
| - mCompositorViewHolder.setLayoutManager(layoutManager);
|
| - mCompositorViewHolder.setFocusable(false);
|
| - mCompositorViewHolder.setControlContainer(controlContainer);
|
| - mCompositorViewHolder.setFullscreenHandler(mFullscreenManager);
|
| - mCompositorViewHolder.setUrlBar(urlBar);
|
| - mCompositorViewHolder.onFinishNativeInitialization(getTabModelSelector(), this,
|
| - getTabContentManager(), contentContainer, mContextualSearchManager);
|
| -
|
| - if (controlContainer != null
|
| - && DeviceClassManager.enableToolbarSwipe(FeatureUtilities.isDocumentMode(this))) {
|
| - controlContainer.setSwipeHandler(
|
| - getCompositorViewHolder().getLayoutManager().getTopSwipeHandler());
|
| - }
|
| - }
|
| +// public CompositorViewHolder getCompositorViewHolder() {
|
| +// return mCompositorViewHolder;
|
| +// }
|
| +//
|
| +// /**
|
| +// * Gets the full screen manager.
|
| +// * @return The fullscreen manager, possibly null
|
| +// */
|
| +// public ChromeFullscreenManager getFullscreenManager() {
|
| +// return mFullscreenManager;
|
| +// }
|
| +//
|
| +// /**
|
| +// * @return The content offset provider, may be null.
|
| +// */
|
| +// public ContentOffsetProvider getContentOffsetProvider() {
|
| +// return mCompositorViewHolder.getContentOffsetProvider();
|
| +// }
|
| +//
|
| +// /**
|
| +// * @return The content readback handler, may be null.
|
| +// */
|
| +// public ContentReadbackHandler getContentReadbackHandler() {
|
| +// return mCompositorViewHolder.getContentReadbackHandler();
|
| +// }
|
| +
|
| +// /**
|
| +// * Starts asynchronously taking the compositor activity screenshot.
|
| +// * @param getBitmapCallback The callback to call once the screenshot is taken, or when failed.
|
| +// */
|
| +// public void startTakingCompositorActivityScreenshot(final GetBitmapCallback getBitmapCallback) {
|
| +// ContentReadbackHandler readbackHandler = getContentReadbackHandler();
|
| +// if (readbackHandler == null || getWindowAndroid() == null) {
|
| +// ThreadUtils.postOnUiThread(new Runnable() {
|
| +// @Override
|
| +// public void run() {
|
| +// getBitmapCallback.onFinishGetBitmap(null, ReadbackResponse.SURFACE_UNAVAILABLE);
|
| +// }
|
| +// });
|
| +// } else {
|
| +// readbackHandler.getCompositorBitmapAsync(getWindowAndroid(), getBitmapCallback);
|
| +// }
|
| +// }
|
| +//
|
| +// /**
|
| +// * @return The {@code ContextualSearchManager} or {@code null} if none;
|
| +// */
|
| +// public ContextualSearchManager getContextualSearchManager() {
|
| +// return mContextualSearchManager;
|
| +// }
|
| +//
|
| +// /**
|
| +// * @return A {@link ReaderModeActivityDelegate} instance or {@code null} if reader mode is
|
| +// * not enabled.
|
| +// */
|
| +// public ReaderModeActivityDelegate getReaderModeActivityDelegate() {
|
| +// return mReaderModeActivityDelegate;
|
| +// }
|
| +//
|
| +// /**
|
| +// * Create a full-screen manager to be used by this activity.
|
| +// * @param controlContainer The control container that will be controlled by the full-screen
|
| +// * manager.
|
| +// * @return A {@link ChromeFullscreenManager} instance that's been created.
|
| +// */
|
| +// protected ChromeFullscreenManager createFullscreenManager(View controlContainer) {
|
| +// return new ChromeFullscreenManager(this, controlContainer, getTabModelSelector(),
|
| +// getControlContainerHeightResource(), true);
|
| +// }
|
| +//
|
| +// /**
|
| +// * Initializes the {@link CompositorViewHolder} with the relevant content it needs to properly
|
| +// * show content on the screen.
|
| +// * @param layoutManager A {@link LayoutManagerDocument} instance. This class is
|
| +// * responsible for driving all high level screen content and
|
| +// * determines which {@link Layout} is shown when.
|
| +// * @param urlBar The {@link View} representing the URL bar (must be
|
| +// * focusable) or {@code null} if none exists.
|
| +// * @param contentContainer A {@link ViewGroup} that can have content attached by
|
| +// * {@link Layout}s.
|
| +// * @param controlContainer A {@link ControlContainer} instance to draw.
|
| +// */
|
| +// protected void initializeCompositorContent(
|
| +// LayoutManagerDocument layoutManager, View urlBar, ViewGroup contentContainer,
|
| +// ControlContainer controlContainer) {
|
| +// CommandLine commandLine = CommandLine.getInstance();
|
| +// boolean enableFullscreen = !commandLine.hasSwitch(ChromeSwitches.DISABLE_FULLSCREEN);
|
| +//
|
| +// if (enableFullscreen && controlContainer != null) {
|
| +// mFullscreenManager = createFullscreenManager((View) controlContainer);
|
| +// }
|
| +//
|
| +// if (mContextualSearchManager != null) {
|
| +// mContextualSearchManager.initialize(contentContainer);
|
| +// mContextualSearchManager.setSearchContentViewDelegate(layoutManager);
|
| +// }
|
| +//
|
| +// if (mReaderModeActivityDelegate != null) {
|
| +// mReaderModeActivityDelegate.initialize(contentContainer);
|
| +// mReaderModeActivityDelegate.setDynamicResourceLoader(
|
| +// mCompositorViewHolder.getDynamicResourceLoader());
|
| +// }
|
| +//
|
| +// layoutManager.addSceneChangeObserver(this);
|
| +// mCompositorViewHolder.setLayoutManager(layoutManager);
|
| +// mCompositorViewHolder.setFocusable(false);
|
| +// mCompositorViewHolder.setControlContainer(controlContainer);
|
| +// mCompositorViewHolder.setFullscreenHandler(mFullscreenManager);
|
| +// mCompositorViewHolder.setUrlBar(urlBar);
|
| +// mCompositorViewHolder.onFinishNativeInitialization(getTabModelSelector(), this,
|
| +// getTabContentManager(), contentContainer, mContextualSearchManager);
|
| +//
|
| +// if (controlContainer != null
|
| +// && DeviceClassManager.enableToolbarSwipe(FeatureUtilities.isDocumentMode(this))) {
|
| +// controlContainer.setSwipeHandler(
|
| +// getCompositorViewHolder().getLayoutManager().getTopSwipeHandler());
|
| +// }
|
| +// }
|
|
|
| /**
|
| * Called when the back button is pressed.
|
| @@ -1198,44 +1198,45 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
|
| */
|
| protected abstract boolean handleBackPressed();
|
|
|
| - @Override
|
| - public void onOrientationChange(int orientation) {
|
| - if (mContextualSearchManager != null) mContextualSearchManager.onOrientationChange();
|
| - if (mToolbarManager != null) mToolbarManager.onOrientationChange();
|
| - }
|
| -
|
| - @Override
|
| - public void onConfigurationChanged(Configuration newConfig) {
|
| - if (mAppMenuHandler != null) mAppMenuHandler.hideAppMenu();
|
| - super.onConfigurationChanged(newConfig);
|
| - }
|
| -
|
| - @Override
|
| - public final void onBackPressed() {
|
| - if (mCompositorViewHolder != null) {
|
| - LayoutManager layoutManager = mCompositorViewHolder.getLayoutManager();
|
| - boolean layoutConsumed = layoutManager != null && layoutManager.onBackPressed();
|
| - if (layoutConsumed || mContextualSearchManager != null
|
| - && mContextualSearchManager.onBackPressed()) {
|
| - RecordUserAction.record("SystemBack");
|
| - return;
|
| - }
|
| - }
|
| - if (!isSelectActionBarShowing() && handleBackPressed()) {
|
| - return;
|
| - }
|
| - // This will close the select action bar if it is showing, otherwise close the activity.
|
| - super.onBackPressed();
|
| - }
|
| -
|
| - private boolean isSelectActionBarShowing() {
|
| - Tab tab = getActivityTab();
|
| - if (tab == null) return false;
|
| - ContentViewCore contentViewCore = tab.getContentViewCore();
|
| - if (contentViewCore == null) return false;
|
| - return contentViewCore.isSelectActionBarShowing();
|
| - }
|
| -
|
| +// @Override
|
| +// public void onOrientationChange(int orientation) {
|
| +//// if (mContextualSearchManager != null) mContextualSearchManager.onOrientationChange();
|
| +// if (mToolbarManager != null) mToolbarManager.onOrientationChange();
|
| +// }
|
| +
|
| +// @Override
|
| +// public void onConfigurationChanged(Configuration newConfig) {
|
| +//// if (mAppMenuHandler != null) mAppMenuHandler.hideAppMenu();
|
| +// super.onConfigurationChanged(newConfig);
|
| +// }
|
| +
|
| +// @Override
|
| +// public final void onBackPressed() {
|
| +// if (mCompositorViewHolder != null) {
|
| +// LayoutManager layoutManager = mCompositorViewHolder.getLayoutManager();
|
| +// boolean layoutConsumed = layoutManager != null && layoutManager.onBackPressed();
|
| +// if (layoutConsumed || mContextualSearchManager != null
|
| +// && mContextualSearchManager.onBackPressed()) {
|
| +// RecordUserAction.record("SystemBack");
|
| +// return;
|
| +// }
|
| +// }
|
| +// if (!isSelectActionBarShowing() && handleBackPressed()) {
|
| +// return;
|
| +// }
|
| +// // This will close the select action bar if it is showing, otherwise close the activity.
|
| +// super.onBackPressed();
|
| +// }
|
| +//
|
| +// private boolean isSelectActionBarShowing() {
|
| +// Tab tab = getActivityTab();
|
| +// if (tab == null) return false;
|
| +// ContentViewCore contentViewCore = tab.getContentViewCore();
|
| +// if (contentViewCore == null) return false;
|
| +// return contentViewCore.isSelectActionBarShowing();
|
| +// }
|
| +/*
|
| + // removed because we dont need to implement ContextualSearchTabPromotionDelegate
|
| @Override
|
| public boolean createContextualSearchTab(ContentViewCore searchContentViewCore) {
|
| Tab currentTab = getActivityTab();
|
| @@ -1248,22 +1249,23 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
|
| currentTab.getId(), TabLaunchType.FROM_LONGPRESS_FOREGROUND);
|
| return true;
|
| }
|
| -
|
| - /**
|
| - * @return The {@link AppMenuHandler} associated with this activity.
|
| - */
|
| - @VisibleForTesting
|
| - public AppMenuHandler getAppMenuHandler() {
|
| - return mAppMenuHandler;
|
| - }
|
| -
|
| - /**
|
| - * @return The {@link AppMenuPropertiesDelegate} associated with this activity.
|
| - */
|
| - @VisibleForTesting
|
| - public ChromeAppMenuPropertiesDelegate getAppMenuPropertiesDelegate() {
|
| - return mAppMenuPropertiesDelegate;
|
| - }
|
| +*/
|
| +
|
| +// /**
|
| +// * @return The {@link AppMenuHandler} associated with this activity.
|
| +// */
|
| +// @VisibleForTesting
|
| +// public AppMenuHandler getAppMenuHandler() {
|
| +// return mAppMenuHandler;
|
| +// }
|
| +//
|
| +// /**
|
| +// * @return The {@link AppMenuPropertiesDelegate} associated with this activity.
|
| +// */
|
| +// @VisibleForTesting
|
| +// public ChromeAppMenuPropertiesDelegate getAppMenuPropertiesDelegate() {
|
| +// return mAppMenuPropertiesDelegate;
|
| +// }
|
|
|
| /**
|
| * Handles menu item selection and keyboard shortcuts.
|
| @@ -1273,110 +1275,110 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
|
| * @param fromMenu Whether this was triggered from the menu.
|
| * @return Whether the action was handled.
|
| */
|
| - public boolean onMenuOrKeyboardAction(int id, boolean fromMenu) {
|
| - if (id == R.id.preferences_id) {
|
| - PreferencesLauncher.launchSettingsPage(this, null);
|
| - RecordUserAction.record("MobileMenuSettings");
|
| - }
|
| -
|
| - // All the code below assumes currentTab is not null, so return early if it is null.
|
| - final Tab currentTab = getActivityTab();
|
| - if (currentTab == null) {
|
| - return false;
|
| - } else if (id == R.id.forward_menu_id) {
|
| - if (currentTab.canGoForward()) {
|
| - currentTab.goForward();
|
| - RecordUserAction.record("MobileMenuForward");
|
| - RecordUserAction.record("MobileTabClobbered");
|
| - }
|
| - } else if (id == R.id.bookmark_this_page_id) {
|
| - addOrEditBookmark(currentTab);
|
| - RecordUserAction.record("MobileMenuAddToBookmarks");
|
| - } else if (id == R.id.reload_menu_id) {
|
| - if (currentTab.isLoading()) {
|
| - currentTab.stopLoading();
|
| - } else {
|
| - currentTab.reload();
|
| - RecordUserAction.record("MobileToolbarReload");
|
| - }
|
| - } else if (id == R.id.info_menu_id) {
|
| - WebsiteSettingsPopup.show(this, currentTab.getProfile(), currentTab.getWebContents());
|
| - } else if (id == R.id.open_history_menu_id) {
|
| - currentTab.loadUrl(
|
| - new LoadUrlParams(UrlConstants.HISTORY_URL, PageTransition.AUTO_TOPLEVEL));
|
| - RecordUserAction.record("MobileMenuHistory");
|
| - } else if (id == R.id.share_menu_id || id == R.id.direct_share_menu_id) {
|
| - onShareMenuItemSelected(currentTab, getWindowAndroid(),
|
| - id == R.id.direct_share_menu_id, getCurrentTabModel().isIncognito());
|
| - } else if (id == R.id.print_id) {
|
| - PrintingController printingController = getChromeApplication().getPrintingController();
|
| - if (printingController != null && !printingController.isBusy()
|
| - && PrefServiceBridge.getInstance().isPrintingEnabled()) {
|
| - printingController.startPrint(new TabPrinter(currentTab),
|
| - new PrintManagerDelegateImpl(this));
|
| - RecordUserAction.record("MobileMenuPrint");
|
| - }
|
| - } else if (id == R.id.add_to_homescreen_id) {
|
| - AddToHomescreenDialog.show(this, currentTab);
|
| - RecordUserAction.record("MobileMenuAddToHomescreen");
|
| - } else if (id == R.id.request_desktop_site_id) {
|
| - final boolean reloadOnChange = !currentTab.isNativePage();
|
| - final boolean usingDesktopUserAgent = currentTab.getUseDesktopUserAgent();
|
| - currentTab.setUseDesktopUserAgent(!usingDesktopUserAgent, reloadOnChange);
|
| - RecordUserAction.record("MobileMenuRequestDesktopSite");
|
| - } else if (id == R.id.reader_mode_prefs_id) {
|
| - if (currentTab.getWebContents() != null) {
|
| - RecordUserAction.record("DomDistiller_DistilledPagePrefsOpened");
|
| - AlertDialog.Builder builder =
|
| - new AlertDialog.Builder(this, R.style.AlertDialogTheme);
|
| - builder.setView(DistilledPagePrefsView.create(this));
|
| - builder.show();
|
| - }
|
| - } else if (id == R.id.help_id) {
|
| - // Since reading back the compositor is asynchronous, we need to do the readback
|
| - // before starting the GoogleHelp.
|
| - String helpContextId = HelpAndFeedback.getHelpContextIdFromUrl(
|
| - this, currentTab.getUrl(), getCurrentTabModel().isIncognito());
|
| - HelpAndFeedback.getInstance(this)
|
| - .show(this, helpContextId, currentTab.getProfile(), currentTab.getUrl());
|
| - RecordUserAction.record("MobileMenuFeedback");
|
| - } else {
|
| - return false;
|
| - }
|
| - return true;
|
| - }
|
| -
|
| - private void markSessionResume() {
|
| - // Start new session for UMA.
|
| - if (mUmaSessionStats == null) {
|
| - mUmaSessionStats = new UmaSessionStats(this);
|
| - }
|
| -
|
| - mUmaSessionStats.updateMetricsServiceState();
|
| - // In DocumentMode we need the application-level TabModelSelector instead of per
|
| - // activity which only manages a single tab.
|
| - if (FeatureUtilities.isDocumentMode(this)) {
|
| - mUmaSessionStats.startNewSession(
|
| - ChromeApplication.getDocumentTabModelSelector());
|
| - } else {
|
| - mUmaSessionStats.startNewSession(getTabModelSelector());
|
| - }
|
| - }
|
| -
|
| - /**
|
| - * Mark that the UMA session has ended.
|
| - */
|
| - private void markSessionEnd() {
|
| - if (mUmaSessionStats == null) {
|
| - // If you hit this assert, please update crbug.com/172653 on how you got there.
|
| - assert false;
|
| - return;
|
| - }
|
| - // Record session metrics.
|
| - mUmaSessionStats.logMultiWindowStats(windowArea(), displayArea(),
|
| - TabWindowManager.getInstance().getNumberOfAssignedTabModelSelectors());
|
| - mUmaSessionStats.logAndEndSession();
|
| - }
|
| +// public boolean onMenuOrKeyboardAction(int id, boolean fromMenu) {
|
| +// if (id == R.id.preferences_id) {
|
| +// PreferencesLauncher.launchSettingsPage(this, null);
|
| +// RecordUserAction.record("MobileMenuSettings");
|
| +// }
|
| +//
|
| +// // All the code below assumes currentTab is not null, so return early if it is null.
|
| +// final Tab currentTab = getActivityTab();
|
| +// if (currentTab == null) {
|
| +// return false;
|
| +// } else if (id == R.id.forward_menu_id) {
|
| +// if (currentTab.canGoForward()) {
|
| +// currentTab.goForward();
|
| +// RecordUserAction.record("MobileMenuForward");
|
| +// RecordUserAction.record("MobileTabClobbered");
|
| +// }
|
| +// } else if (id == R.id.bookmark_this_page_id) {
|
| +// addOrEditBookmark(currentTab);
|
| +// RecordUserAction.record("MobileMenuAddToBookmarks");
|
| +// } else if (id == R.id.reload_menu_id) {
|
| +// if (currentTab.isLoading()) {
|
| +// currentTab.stopLoading();
|
| +// } else {
|
| +// currentTab.reload();
|
| +// RecordUserAction.record("MobileToolbarReload");
|
| +// }
|
| +// } else if (id == R.id.info_menu_id) {
|
| +// WebsiteSettingsPopup.show(this, currentTab.getProfile(), currentTab.getWebContents());
|
| +// } else if (id == R.id.open_history_menu_id) {
|
| +// currentTab.loadUrl(
|
| +// new LoadUrlParams(UrlConstants.HISTORY_URL, PageTransition.AUTO_TOPLEVEL));
|
| +// RecordUserAction.record("MobileMenuHistory");
|
| +// } else if (id == R.id.share_menu_id || id == R.id.direct_share_menu_id) {
|
| +// onShareMenuItemSelected(currentTab, getWindowAndroid(),
|
| +// id == R.id.direct_share_menu_id, getCurrentTabModel().isIncognito());
|
| +// } else if (id == R.id.print_id) {
|
| +// PrintingController printingController = getChromeApplication().getPrintingController();
|
| +// if (printingController != null && !printingController.isBusy()
|
| +// && PrefServiceBridge.getInstance().isPrintingEnabled()) {
|
| +// printingController.startPrint(new TabPrinter(currentTab),
|
| +// new PrintManagerDelegateImpl(this));
|
| +// RecordUserAction.record("MobileMenuPrint");
|
| +// }
|
| +// } else if (id == R.id.add_to_homescreen_id) {
|
| +// AddToHomescreenDialog.show(this, currentTab);
|
| +// RecordUserAction.record("MobileMenuAddToHomescreen");
|
| +// } else if (id == R.id.request_desktop_site_id) {
|
| +// final boolean reloadOnChange = !currentTab.isNativePage();
|
| +// final boolean usingDesktopUserAgent = currentTab.getUseDesktopUserAgent();
|
| +// currentTab.setUseDesktopUserAgent(!usingDesktopUserAgent, reloadOnChange);
|
| +// RecordUserAction.record("MobileMenuRequestDesktopSite");
|
| +// } else if (id == R.id.reader_mode_prefs_id) {
|
| +// if (currentTab.getWebContents() != null) {
|
| +// RecordUserAction.record("DomDistiller_DistilledPagePrefsOpened");
|
| +// AlertDialog.Builder builder =
|
| +// new AlertDialog.Builder(this, R.style.AlertDialogTheme);
|
| +// builder.setView(DistilledPagePrefsView.create(this));
|
| +// builder.show();
|
| +// }
|
| +// } else if (id == R.id.help_id) {
|
| +// // Since reading back the compositor is asynchronous, we need to do the readback
|
| +// // before starting the GoogleHelp.
|
| +// String helpContextId = HelpAndFeedback.getHelpContextIdFromUrl(
|
| +// this, currentTab.getUrl(), getCurrentTabModel().isIncognito());
|
| +// HelpAndFeedback.getInstance(this)
|
| +// .show(this, helpContextId, currentTab.getProfile(), currentTab.getUrl());
|
| +// RecordUserAction.record("MobileMenuFeedback");
|
| +// } else {
|
| +// return false;
|
| +// }
|
| +// return true;
|
| +// }
|
| +
|
| +// private void markSessionResume() {
|
| +// // Start new session for UMA.
|
| +// if (mUmaSessionStats == null) {
|
| +// mUmaSessionStats = new UmaSessionStats(this);
|
| +// }
|
| +//
|
| +// mUmaSessionStats.updateMetricsServiceState();
|
| +// // In DocumentMode we need the application-level TabModelSelector instead of per
|
| +// // activity which only manages a single tab.
|
| +// if (FeatureUtilities.isDocumentMode(this)) {
|
| +// mUmaSessionStats.startNewSession(
|
| +// ChromeApplication.getDocumentTabModelSelector());
|
| +// } else {
|
| +// mUmaSessionStats.startNewSession(getTabModelSelector());
|
| +// }
|
| +// }
|
| +//
|
| +// /**
|
| +// * Mark that the UMA session has ended.
|
| +// */
|
| +// private void markSessionEnd() {
|
| +// if (mUmaSessionStats == null) {
|
| +// // If you hit this assert, please update crbug.com/172653 on how you got there.
|
| +// assert false;
|
| +// return;
|
| +// }
|
| +// // Record session metrics.
|
| +// mUmaSessionStats.logMultiWindowStats(windowArea(), displayArea(),
|
| +// TabWindowManager.getInstance().getNumberOfAssignedTabModelSelectors());
|
| +// mUmaSessionStats.logAndEndSession();
|
| +// }
|
|
|
| private int windowArea() {
|
| Window window = getWindow();
|
| @@ -1417,9 +1419,9 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
|
| }
|
| }
|
|
|
| - private void showUpdateInfoBarIfNecessary() {
|
| - getChromeApplication().getUpdateInfoBarHelper().showUpdateInfobarIfNecessary(this);
|
| - }
|
| +// private void showUpdateInfoBarIfNecessary() {
|
| +// getChromeApplication().getUpdateInfoBarHelper().showUpdateInfobarIfNecessary(this);
|
| +// }
|
|
|
| /**
|
| * Determines whether the ContentView is currently visible and not hidden by an overlay
|
| @@ -1454,11 +1456,11 @@ public abstract class ChromeActivity extends AsyncInitializationActivity
|
| @Override
|
| public void terminateIncognitoSession() {}
|
|
|
| - @Override
|
| - public void onTabSelectionHinted(int tabId) { }
|
| -
|
| - @Override
|
| - public void onSceneChange(Layout layout) { }
|
| +// @Override
|
| +//// public void onTabSelectionHinted(int tabId) { }
|
| +//
|
| +// @Override
|
| +// public void onSceneChange(Layout layout) { }
|
|
|
| private void enableHardwareAcceleration() {
|
| // HW acceleration is disabled in the manifest. Enable it only on high-end devices.
|
|
|