Chromium Code Reviews| Index: chrome/android/java/src/org/chromium/chrome/browser/snackbar/SnackbarView.java |
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/snackbar/SnackbarView.java b/chrome/android/java/src/org/chromium/chrome/browser/snackbar/SnackbarView.java |
| index d4c3d6fbc30821989e553b2ff6db1812620240dd..3e8c56555684e12dba3eb04f79bf65dcc30aa932 100644 |
| --- a/chrome/android/java/src/org/chromium/chrome/browser/snackbar/SnackbarView.java |
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/snackbar/SnackbarView.java |
| @@ -12,9 +12,11 @@ import android.app.Activity; |
| import android.graphics.Rect; |
| import android.graphics.drawable.Drawable; |
| import android.graphics.drawable.GradientDrawable; |
| +import android.os.Build; |
| import android.support.annotation.Nullable; |
| import android.view.Gravity; |
| import android.view.LayoutInflater; |
| +import android.view.PointerIcon; |
| import android.view.SurfaceView; |
| import android.view.View; |
| import android.view.View.OnClickListener; |
| @@ -93,6 +95,8 @@ class SnackbarView { |
| mActionButtonView.setOnClickListener(listener); |
| mProfileImageView = (ImageView) mView.findViewById(R.id.snackbar_profile_image); |
| + setPointerIcons(); |
| + |
| updateInternal(snackbar, false); |
| } |
| @@ -142,20 +146,16 @@ class SnackbarView { |
| // Only update if the visible frame has changed, otherwise there will be a layout loop. |
| if (!mCurrentVisibleRect.equals(mPreviousVisibleRect)) { |
| mPreviousVisibleRect.set(mCurrentVisibleRect); |
| - |
| - int keyboardHeight = mParent.getHeight() - mCurrentVisibleRect.bottom |
|
Jinsuk Kim
2017/07/17 04:45:19
Why is it okay not to take the keyboard height int
jaebaek
2017/07/18 07:48:21
Initially, layout_height of mParent was "match_par
|
| - + mCurrentVisibleRect.top; |
| - FrameLayout.LayoutParams lp = getLayoutParams(); |
| - lp.bottomMargin = keyboardHeight; |
| if (mIsTablet) { |
| + FrameLayout.LayoutParams lp = getLayoutParams(); |
| int margin = mParent.getResources() |
| .getDimensionPixelSize(R.dimen.snackbar_margin_tablet); |
| int width = mParent.getResources() |
| .getDimensionPixelSize(R.dimen.snackbar_width_tablet); |
| lp.width = Math.min(width, mParent.getWidth() - 2 * margin); |
| lp.gravity = Gravity.CENTER_HORIZONTAL | Gravity.BOTTOM; |
| + mView.setLayoutParams(lp); |
| } |
| - mView.setLayoutParams(lp); |
| } |
| } |
| @@ -286,4 +286,18 @@ class SnackbarView { |
| view.setText(text); |
| } |
| } |
| + |
| + private void setPointerIcons() { |
| + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { |
| + setPointerIcon(mMessageView, PointerIcon.TYPE_TEXT); |
| + setPointerIcon(mActionButtonView, PointerIcon.TYPE_HAND); |
| + } |
| + } |
| + |
| + private void setPointerIcon(View view, int type) { |
|
Jinsuk Kim
2017/07/17 04:45:19
static?
jaebaek
2017/07/18 07:48:21
Done.
|
| + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { |
| + PointerIcon icon = PointerIcon.getSystemIcon(view.getContext(), type); |
| + view.setPointerIcon(icon); |
| + } |
| + } |
| } |