Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(615)

Unified Diff: content/public/android/java/src/org/chromium/content/browser/input/PastePopupMenu.java

Issue 449033002: Removing unwanted canPaste() api calls and unwanted layout attributes (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixed build error Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/public/android/java/src/org/chromium/content/browser/input/PastePopupMenu.java
diff --git a/content/public/android/java/src/org/chromium/content/browser/input/PastePopupMenu.java b/content/public/android/java/src/org/chromium/content/browser/input/PastePopupMenu.java
index 44726a98620fe81bcb6dd50edc4f1a936ecb2a48..c3442685d4b1d70ca68a1d501b91fa94388d2c30 100644
--- a/content/public/android/java/src/org/chromium/content/browser/input/PastePopupMenu.java
+++ b/content/public/android/java/src/org/chromium/content/browser/input/PastePopupMenu.java
@@ -28,8 +28,8 @@ public class PastePopupMenu implements OnClickListener {
private int mPositionX;
private int mPositionY;
private int mStatusBarHeight;
- private final View[] mPasteViews;
- private final int[] mPasteViewLayouts;
+ private View mPasteView;
+ private final int mPasteViewLayout;
private final int mLineOffsetY;
private final int mWidthOffsetX;
@@ -41,11 +41,6 @@ public class PastePopupMenu implements OnClickListener {
* Called to initiate a paste after the popup has been tapped.
*/
void paste();
-
- /**
- * @return true iff content can be pasted to a focused editable region.
- */
- boolean canPaste();
}
public PastePopupMenu(View parent, PastePopupMenuDelegate delegate) {
@@ -61,20 +56,12 @@ public class PastePopupMenu implements OnClickListener {
mContainer.setWidth(ViewGroup.LayoutParams.WRAP_CONTENT);
mContainer.setHeight(ViewGroup.LayoutParams.WRAP_CONTENT);
- final int[] POPUP_LAYOUT_ATTRS = {
- android.R.attr.textEditPasteWindowLayout,
- android.R.attr.textEditNoPasteWindowLayout,
- android.R.attr.textEditSidePasteWindowLayout,
- android.R.attr.textEditSideNoPasteWindowLayout,
- };
-
- mPasteViews = new View[POPUP_LAYOUT_ATTRS.length];
- mPasteViewLayouts = new int[POPUP_LAYOUT_ATTRS.length];
+ final int[] POPUP_LAYOUT_ATTRS = { android.R.attr.textEditPasteWindowLayout, };
+ mPasteView = null;
jdduke (slow) 2014/08/12 15:26:11 For future reference, Java objects default to null
TypedArray attrs = mContext.getTheme().obtainStyledAttributes(POPUP_LAYOUT_ATTRS);
- for (int i = 0; i < attrs.length(); ++i) {
- mPasteViewLayouts[i] = attrs.getResourceId(attrs.getIndex(i), 0);
- }
+ mPasteViewLayout = attrs.getResourceId(attrs.getIndex(0), 0);
+
attrs.recycle();
// Convert line offset dips to pixels.
@@ -95,8 +82,7 @@ public class PastePopupMenu implements OnClickListener {
* Shows the paste popup at an appropriate location relative to the specified position.
*/
public void showAt(int x, int y) {
- if (!canPaste()) return;
- updateContent(true);
+ updateContent();
positionAt(x, y);
}
@@ -116,9 +102,7 @@ public class PastePopupMenu implements OnClickListener {
@Override
public void onClick(View v) {
- if (canPaste()) {
- paste();
- }
+ paste();
hide();
}
@@ -146,7 +130,6 @@ public class PastePopupMenu implements OnClickListener {
final int screenWidth = mContext.getResources().getDisplayMetrics().widthPixels;
if (coords[1] < minOffsetY) {
- updateContent(false);
// Update dimensions from new view
contentView = mContainer.getContentView();
width = contentView.getMeasuredWidth();
@@ -178,41 +161,29 @@ public class PastePopupMenu implements OnClickListener {
}
}
- private int viewIndex(boolean onTop) {
- return (onTop ? 0 : 1 << 1) + (canPaste() ? 0 : 1 << 0);
- }
-
- private void updateContent(boolean onTop) {
- final int viewIndex = viewIndex(onTop);
- View view = mPasteViews[viewIndex];
-
- if (view == null) {
- final int layout = mPasteViewLayouts[viewIndex];
+ private void updateContent() {
+ if (mPasteView == null) {
+ final int layout = mPasteViewLayout;
LayoutInflater inflater = (LayoutInflater) mContext.
getSystemService(Context.LAYOUT_INFLATER_SERVICE);
if (inflater != null) {
- view = inflater.inflate(layout, null);
+ mPasteView = inflater.inflate(layout, null);
}
- if (view == null) {
+ if (mPasteView == null) {
throw new IllegalArgumentException("Unable to inflate TextEdit paste window");
}
final int size = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED);
- view.setLayoutParams(new LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,
- ViewGroup.LayoutParams.WRAP_CONTENT));
- view.measure(size, size);
+ mPasteView.setLayoutParams(
+ new LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,
+ ViewGroup.LayoutParams.WRAP_CONTENT));
+ mPasteView.measure(size, size);
- view.setOnClickListener(this);
-
- mPasteViews[viewIndex] = view;
+ mPasteView.setOnClickListener(this);
}
- mContainer.setContentView(view);
- }
-
- private boolean canPaste() {
- return mDelegate.canPaste();
+ mContainer.setContentView(mPasteView);
}
private void paste() {
« no previous file with comments | « content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698