Index: chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java |
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java |
index 95795e3e097f5abf02423dd8d52f99ee57c52f23..aba74e7ebd32a6d05444a3109494ef1267f60a93 100644 |
--- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java |
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageLayout.java |
@@ -6,11 +6,12 @@ package org.chromium.chrome.browser.ntp; |
import android.content.Context; |
import android.content.res.Resources; |
+import android.graphics.Rect; |
+import android.graphics.drawable.Drawable; |
import android.util.AttributeSet; |
import android.view.View; |
import android.widget.LinearLayout; |
-import org.chromium.base.ApiCompatibilityUtils; |
import org.chromium.chrome.R; |
/** |
@@ -36,6 +37,7 @@ public class NewTabPageLayout extends LinearLayout { |
private final int mTabStripHeight; |
private int mParentViewportHeight; |
+ private int mSearchboxViewShadowWidth; |
private boolean mCardsUiEnabled; |
private View mTopSpacer; // Spacer above search logo. |
@@ -49,7 +51,6 @@ public class NewTabPageLayout extends LinearLayout { |
private LogoView mSearchProviderLogoView; |
private View mSearchBoxView; |
private MostVisitedLayout mMostVisitedLayout; |
- |
Theresa
2016/05/26 21:54:41
nit: please add this line back.
|
/** |
* Constructor for inflating from XML. |
*/ |
@@ -142,7 +143,8 @@ public class NewTabPageLayout extends LinearLayout { |
// Make the search box and logo as wide as the most visited items. |
if (mMostVisitedLayout.getVisibility() != GONE) { |
final int width = mMostVisitedLayout.getMeasuredWidth() - mMostVisitedLayoutBleed; |
- setMeasure(mSearchBoxView, width, mSearchBoxView.getMeasuredHeight()); |
+ setMeasure(mSearchBoxView, width + mSearchboxViewShadowWidth, |
+ mSearchBoxView.getMeasuredHeight()); |
setMeasure(mSearchProviderLogoView, width, mSearchProviderLogoView.getMeasuredHeight()); |
} |
} |
@@ -168,16 +170,37 @@ public class NewTabPageLayout extends LinearLayout { |
} |
/** |
- * Set the search box style. Modify the search box to enable material when snippets or |
- * material design is enabled. |
+ * Set the search box style, adding a shadow if required. |
*/ |
private void setSearchBoxStyle() { |
- if (NtpColorUtils.shouldUseMaterialColors() |
- && ApiCompatibilityUtils.setElevation(mSearchBoxView, |
- getResources().getDimensionPixelSize(R.dimen.toolbar_elevation))) { |
- // Replace drawable with one that does not contain a border. |
- mSearchBoxView.setBackgroundResource(R.drawable.bg_ntp_search_box_material); |
- } |
+ if (!NtpColorUtils.shouldUseMaterialColors()) return; |
+ |
+ Drawable background = mSearchBoxView.getBackground(); |
Theresa
2016/05/26 17:47:26
Can the padding be added via xml? I'm hoping we ca
Bernhard Bauer
2016/05/26 19:43:57
The reason I'm doing this in code is that we still
Theresa
2016/05/26 21:54:41
Can you use defined dimens that represent the corr
Bernhard Bauer
2016/05/27 12:16:41
Done. Note however that keeping the exactly same p
|
+ Rect padding = new Rect(); |
+ background.getPadding(padding); |
+ |
+ Resources resources = getContext().getResources(); |
+ Drawable shadow = resources.getDrawable(R.drawable.textbox); |
Theresa
2016/05/26 21:54:41
Resources.getDrawable() is deprecated. Use ApiComp
Bernhard Bauer
2016/05/27 12:16:41
Thanks! That code is gone now though.
|
+ Rect shadowPadding = new Rect(); |
+ shadow.getPadding(shadowPadding); |
+ |
+ // Adjust the margins to remove the padding. |
Theresa
2016/05/26 21:54:41
Why does the padding need to be removed just to be
Bernhard Bauer
2016/05/27 12:16:41
Sorry, that comment should have been a bit more de
|
+ MarginLayoutParams layoutParams = (MarginLayoutParams) mSearchBoxView.getLayoutParams(); |
+ layoutParams.topMargin -= shadowPadding.top; |
+ layoutParams.bottomMargin -= shadowPadding.bottom; |
+ layoutParams.leftMargin -= shadowPadding.left; |
+ layoutParams.rightMargin -= shadowPadding.right; |
+ layoutParams.height += shadowPadding.bottom + shadowPadding.top; |
+ // Width will be adjusted in onMeasure(); |
+ mSearchboxViewShadowWidth = shadowPadding.left + shadowPadding.right; |
+ |
+ // Add the extra padding back. |
+ mSearchBoxView.setBackground(shadow); |
+ mSearchBoxView.setPadding( |
+ padding.left + shadowPadding.left, |
+ padding.top + shadowPadding.top, |
+ padding.right + shadowPadding.right, |
+ padding.bottom + shadowPadding.bottom); |
} |
/** |