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