Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2723)

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/contextualsearch/ContextualSearchPanel.java

Issue 1345373007: Move management delegate from base (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@extract-state-handler
Patch Set: rebase Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/contextualsearch/ContextualSearchPanelBase.java » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/contextualsearch/ContextualSearchPanel.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/contextualsearch/ContextualSearchPanel.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/contextualsearch/ContextualSearchPanel.java
index 1aa2a20a8ccd6a8a5b5fa0aabaeee31857a0ccaa..286bc4d13edcf175bb105c1958e2a16a945a82f5 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/contextualsearch/ContextualSearchPanel.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/contextualsearch/ContextualSearchPanel.java
@@ -13,6 +13,7 @@ import org.chromium.chrome.browser.ChromeActivity;
import org.chromium.chrome.browser.compositor.bottombar.OverlayContentProgressObserver;
import org.chromium.chrome.browser.compositor.bottombar.OverlayPanelContent;
import org.chromium.chrome.browser.compositor.layouts.LayoutUpdateHost;
+import org.chromium.chrome.browser.contextualsearch.ContextualSearchManagementDelegate;
import org.chromium.content.browser.ContentViewClient;
import org.chromium.content.browser.ContentViewCore;
@@ -115,6 +116,11 @@ public class ContextualSearchPanel extends ContextualSearchPanelAnimation
*/
private ContextualSearchPanelMetrics mPanelMetrics;
+ /**
+ * The object for handling global Contextual Search management duties
+ */
+ private ContextualSearchManagementDelegate mManagementDelegate;
+
// ============================================================================================
// Constructor
// ============================================================================================
@@ -133,7 +139,7 @@ public class ContextualSearchPanel extends ContextualSearchPanelAnimation
*/
public OverlayPanelContent createNewOverlayPanelContent() {
OverlayPanelContent overlayPanelContent = new OverlayPanelContent(
- getManagementDelegate().getOverlayContentDelegate(), new PanelProgressObserver(),
+ mManagementDelegate.getOverlayContentDelegate(), new PanelProgressObserver(),
mActivity);
// Adds a ContentViewClient to override the default fullscreen size.
@@ -188,6 +194,30 @@ public class ContextualSearchPanel extends ContextualSearchPanelAnimation
}
// ============================================================================================
+ // Contextual Search Manager Integration
+ // ============================================================================================
+
+ /**
+ * Sets the {@code ContextualSearchManagementDelegate} associated with this panel.
+ * @param delegate The {@code ContextualSearchManagementDelegate}.
+ */
+ public void setManagementDelegate(ContextualSearchManagementDelegate delegate) {
+ if (mManagementDelegate != delegate) {
+ mManagementDelegate = delegate;
+ if (delegate != null) {
+ initializeUiState();
+ }
+ }
+ }
+
+ /**
+ * @return The {@code ContextualSearchManagementDelegate} associated with this Layout.
+ */
+ public ContextualSearchManagementDelegate getManagementDelegate() {
+ return mManagementDelegate;
+ }
+
+ // ============================================================================================
// Logging of panel state information.
// ============================================================================================
@@ -243,7 +273,7 @@ public class ContextualSearchPanel extends ContextualSearchPanelAnimation
@Override
public void onPromoButtonClick(boolean accepted) {
super.onPromoButtonClick(accepted);
- getManagementDelegate().logPromoOutcome();
+ mManagementDelegate.logPromoOutcome();
setIsPromoActive(false);
}
@@ -265,14 +295,14 @@ public class ContextualSearchPanel extends ContextualSearchPanelAnimation
@Override
public void setPreferenceState(boolean enabled) {
- if (getManagementDelegate() != null) {
- getManagementDelegate().setPreferenceState(enabled);
+ if (mManagementDelegate != null) {
+ mManagementDelegate.setPreferenceState(enabled);
}
}
@Override
protected boolean isPromoAvailable() {
- return getManagementDelegate() != null && getManagementDelegate().isPromoAvailable();
+ return mManagementDelegate != null && mManagementDelegate.isPromoAvailable();
}
@Override
@@ -281,7 +311,7 @@ public class ContextualSearchPanel extends ContextualSearchPanelAnimation
if (mOverlayPanelContent != null) {
mOverlayPanelContent.destroyContentView();
}
- getManagementDelegate().onCloseContextualSearch(reason);
+ mManagementDelegate.onCloseContextualSearch(reason);
}
// ============================================================================================
@@ -355,8 +385,8 @@ public class ContextualSearchPanel extends ContextualSearchPanelAnimation
closePanel(StateChangeReason.BASE_PAGE_TAP, true);
} else if (isCoordinateInsideSearchBar(x, y)) {
if (isPeeking()) {
- if (getManagementDelegate().isRunningInCompatibilityMode()) {
- getManagementDelegate().openResolvedSearchUrlInNewTab();
+ if (mManagementDelegate.isRunningInCompatibilityMode()) {
+ mManagementDelegate.openResolvedSearchUrlInNewTab();
} else {
if (isFullscreenSizePanel()) {
expandPanel(StateChangeReason.SEARCH_BAR_TAP);
@@ -475,7 +505,7 @@ public class ContextualSearchPanel extends ContextualSearchPanelAnimation
if (mShouldPromoteToTabAfterMaximizing && getPanelState() == PanelState.MAXIMIZED) {
mShouldPromoteToTabAfterMaximizing = false;
- getManagementDelegate().promoteToTab();
+ mManagementDelegate.promoteToTab();
}
}
@@ -514,6 +544,20 @@ public class ContextualSearchPanel extends ContextualSearchPanelAnimation
}
// ============================================================================================
+ // ContextualSearchPanelBase methods.
+ // ============================================================================================
+
+ @Override
+ public boolean isCustomTab() {
+ return mManagementDelegate.isCustomTab();
+ }
+
+ @Override
+ public int getControlContainerHeightResource() {
+ return mManagementDelegate.getControlContainerHeightResource();
+ }
+
+ // ============================================================================================
// Panel Delegate
// ============================================================================================
« no previous file with comments | « no previous file | chrome/android/java/src/org/chromium/chrome/browser/compositor/bottombar/contextualsearch/ContextualSearchPanelBase.java » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698