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); |
+ } |
+ } |
} |