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..18014fa600d81d889835892d618d0af56e3be833 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,9 @@ class SnackbarView { |
| mActionButtonView.setOnClickListener(listener); |
| mProfileImageView = (ImageView) mView.findViewById(R.id.snackbar_profile_image); |
| + setPointerIcon(mMessageView, PointerIcon.TYPE_TEXT); |
| + setPointerIcon(mActionButtonView, PointerIcon.TYPE_HAND); |
| + |
| updateInternal(snackbar, false); |
| } |
| @@ -142,20 +147,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 |
| - + mCurrentVisibleRect.top; |
| - FrameLayout.LayoutParams lp = getLayoutParams(); |
|
Ted C
2017/07/18 16:41:18
this change will prevent snackbars from appearing
jaebaek
2017/07/19 01:18:53
Yes, it is intentional. When we set the height of
|
| - 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 +287,11 @@ class SnackbarView { |
| view.setText(text); |
| } |
| } |
| + |
| + private static void setPointerIcon(View view, int type) { |
| + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { |
| + PointerIcon icon = PointerIcon.getSystemIcon(view.getContext(), type); |
| + view.setPointerIcon(icon); |
| + } |
| + } |
| } |