| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 package org.chromium.chrome.browser.toolbar; | 5 package org.chromium.chrome.browser.toolbar; |
| 6 | 6 |
| 7 import android.content.Context; | 7 import android.content.Context; |
| 8 import android.graphics.Canvas; | 8 import android.graphics.Canvas; |
| 9 import android.graphics.PorterDuff; | 9 import android.graphics.PorterDuff; |
| 10 import android.graphics.Rect; | 10 import android.graphics.Rect; |
| (...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 156 protected boolean isReadyForCapture() { | 156 protected boolean isReadyForCapture() { |
| 157 return mReadyForBitmapCapture; | 157 return mReadyForBitmapCapture; |
| 158 } | 158 } |
| 159 } | 159 } |
| 160 | 160 |
| 161 private static class ToolbarViewResourceAdapter extends ViewResourceAdapter
{ | 161 private static class ToolbarViewResourceAdapter extends ViewResourceAdapter
{ |
| 162 private final int[] mTempPosition = new int[2]; | 162 private final int[] mTempPosition = new int[2]; |
| 163 private final View mToolbarContainer; | 163 private final View mToolbarContainer; |
| 164 | 164 |
| 165 private Toolbar mToolbar; | 165 private Toolbar mToolbar; |
| 166 private int mToolbarActualHeightPx; | |
| 167 private int mTabStripHeightPx; | 166 private int mTabStripHeightPx; |
| 168 | 167 |
| 169 /** Builds the resource adapter for the toolbar. */ | 168 /** Builds the resource adapter for the toolbar. */ |
| 170 public ToolbarViewResourceAdapter(View toolbarContainer) { | 169 public ToolbarViewResourceAdapter(View toolbarContainer) { |
| 171 super(toolbarContainer); | 170 super(toolbarContainer); |
| 172 mToolbarContainer = toolbarContainer; | 171 mToolbarContainer = toolbarContainer; |
| 173 } | 172 } |
| 174 | 173 |
| 175 /** | 174 /** |
| 176 * Set the toolbar after it has been dynamically inflated. | 175 * Set the toolbar after it has been dynamically inflated. |
| 177 * @param toolbar The browser's toolbar. | 176 * @param toolbar The browser's toolbar. |
| 178 */ | 177 */ |
| 179 public void setToolbar(Toolbar toolbar) { | 178 public void setToolbar(Toolbar toolbar) { |
| 180 mToolbar = toolbar; | 179 mToolbar = toolbar; |
| 181 int containerHeightResId = R.dimen.control_container_height; | |
| 182 if (mToolbar instanceof CustomTabToolbar) { | |
| 183 containerHeightResId = R.dimen.custom_tabs_control_container_hei
ght; | |
| 184 } | |
| 185 mToolbarActualHeightPx = mToolbarContainer.getResources().getDimensi
onPixelSize( | |
| 186 containerHeightResId); | |
| 187 mTabStripHeightPx = mToolbarContainer.getResources().getDimensionPix
elSize( | 180 mTabStripHeightPx = mToolbarContainer.getResources().getDimensionPix
elSize( |
| 188 R.dimen.tab_strip_height); | 181 R.dimen.tab_strip_height); |
| 189 } | 182 } |
| 190 | 183 |
| 191 /** | 184 /** |
| 192 * Force this resource to be recaptured in full, ignoring the checks | 185 * Force this resource to be recaptured in full, ignoring the checks |
| 193 * {@link #invalidate(Rect)} does. | 186 * {@link #invalidate(Rect)} does. |
| 194 */ | 187 */ |
| 195 public void forceInvalidate() { | 188 public void forceInvalidate() { |
| 196 super.invalidate(null); | 189 super.invalidate(null); |
| (...skipping 24 matching lines...) Expand all Loading... |
| 221 @Override | 214 @Override |
| 222 protected void onCaptureEnd() { | 215 protected void onCaptureEnd() { |
| 223 mToolbar.setTextureCaptureMode(false); | 216 mToolbar.setTextureCaptureMode(false); |
| 224 // Forcing a texture capture should only be done for one draw. Turn
off forced | 217 // Forcing a texture capture should only be done for one draw. Turn
off forced |
| 225 // texture capture. | 218 // texture capture. |
| 226 mToolbar.setForceTextureCapture(false); | 219 mToolbar.setForceTextureCapture(false); |
| 227 } | 220 } |
| 228 | 221 |
| 229 @Override | 222 @Override |
| 230 protected void computeContentPadding(Rect outContentPadding) { | 223 protected void computeContentPadding(Rect outContentPadding) { |
| 231 outContentPadding.set(0, mTabStripHeightPx, mToolbarContainer.getWid
th(), | 224 outContentPadding.set( |
| 232 mToolbarActualHeightPx); | 225 0, mTabStripHeightPx, mToolbarContainer.getWidth(), mToolbar
.getHeight()); |
| 233 } | 226 } |
| 234 | 227 |
| 235 @Override | 228 @Override |
| 236 protected void computeContentAperture(Rect outContentAperture) { | 229 protected void computeContentAperture(Rect outContentAperture) { |
| 237 mToolbar.getLocationBarContentRect(outContentAperture); | 230 mToolbar.getLocationBarContentRect(outContentAperture); |
| 238 mToolbar.getPositionRelativeToContainer(mToolbarContainer, mTempPosi
tion); | 231 mToolbar.getPositionRelativeToContainer(mToolbarContainer, mTempPosi
tion); |
| 239 outContentAperture.offset(mTempPosition[0], mTempPosition[1]); | 232 outContentAperture.offset(mTempPosition[0], mTempPosition[1]); |
| 240 } | 233 } |
| 241 } | 234 } |
| 242 | 235 |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 275 | 268 |
| 276 @Override | 269 @Override |
| 277 public boolean shouldRecognizeSwipe(MotionEvent e1, MotionEvent e2) { | 270 public boolean shouldRecognizeSwipe(MotionEvent e1, MotionEvent e2) { |
| 278 if (isOnTabStrip(e1)) return false; | 271 if (isOnTabStrip(e1)) return false; |
| 279 if (mToolbar.shouldIgnoreSwipeGesture()) return false; | 272 if (mToolbar.shouldIgnoreSwipeGesture()) return false; |
| 280 if (UiUtils.isKeyboardShowing(getContext(), ToolbarControlContainer.
this)) return false; | 273 if (UiUtils.isKeyboardShowing(getContext(), ToolbarControlContainer.
this)) return false; |
| 281 return true; | 274 return true; |
| 282 } | 275 } |
| 283 } | 276 } |
| 284 } | 277 } |
| OLD | NEW |