OSDN Git Service

Merge "Fix unexpected truncation again." into nyc-dev
authorSeigo Nonaka <nona@google.com>
Mon, 25 Apr 2016 03:36:28 +0000 (03:36 +0000)
committerAndroid (Google) Code Review <android-gerrit@google.com>
Mon, 25 Apr 2016 03:36:30 +0000 (03:36 +0000)
1  2 
core/java/android/widget/Editor.java

@@@ -77,8 -77,8 +77,8 @@@ import android.view.ActionMode
  import android.view.ActionMode.Callback;
  import android.view.ContextMenu;
  import android.view.DisplayListCanvas;
 +import android.view.DragAndDropPermissions;
  import android.view.DragEvent;
 -import android.view.DropPermissions;
  import android.view.Gravity;
  import android.view.InputDevice;
  import android.view.LayoutInflater;
@@@ -2379,9 -2379,9 +2379,9 @@@ public class Editor 
      void onDrop(DragEvent event) {
          StringBuilder content = new StringBuilder("");
  
 -        final DropPermissions dropPermissions = DropPermissions.obtain(event);
 -        if (dropPermissions != null) {
 -            dropPermissions.takeTransient();
 +        final DragAndDropPermissions permissions = DragAndDropPermissions.obtain(event);
 +        if (permissions != null) {
 +            permissions.takeTransient();
          }
  
          try {
              }
          }
          finally {
 -            if (dropPermissions != null) {
 -                dropPermissions.release();
 +            if (permissions != null) {
 +                permissions.release();
              }
          }
  
          private final SuggestionSpanInfo mMisspelledSpanInfo = new SuggestionSpanInfo();
          private int mContainerMarginWidth;
          private int mContainerMarginTop;
+         private LinearLayout mContainerView;
  
          private class CustomPopupWindow extends PopupWindow {
              @Override
          protected void initContentView() {
              final LayoutInflater inflater = (LayoutInflater) mTextView.getContext().
                      getSystemService(Context.LAYOUT_INFLATER_SERVICE);
-             final ViewGroup relativeLayout = (ViewGroup) inflater.inflate(
+             mContentView = (ViewGroup) inflater.inflate(
                      mTextView.mTextEditSuggestionContainerLayout, null);
  
-             final LinearLayout suggestionWindowContainer =
-                     (LinearLayout) relativeLayout.findViewById(
-                             com.android.internal.R.id.suggestionWindowContainer);
+             mContainerView = (LinearLayout) mContentView.findViewById(
+                     com.android.internal.R.id.suggestionWindowContainer);
              ViewGroup.MarginLayoutParams lp =
-                     (ViewGroup.MarginLayoutParams) suggestionWindowContainer.getLayoutParams();
+                     (ViewGroup.MarginLayoutParams) mContainerView.getLayoutParams();
              mContainerMarginWidth = lp.leftMargin + lp.rightMargin;
              mContainerMarginTop = lp.topMargin;
              mClippingLimitLeft = lp.leftMargin;
              mClippingLimitRight = lp.rightMargin;
  
-             mSuggestionListView = (ListView) relativeLayout.findViewById(
+             mSuggestionListView = (ListView) mContentView.findViewById(
                      com.android.internal.R.id.suggestionContainer);
  
              mSuggestionsAdapter = new SuggestionAdapter();
                  mSuggestionInfos[i] = new SuggestionInfo();
              }
  
-             mContentView = relativeLayout;
-             mAddToDictionaryButton = (TextView) relativeLayout.findViewById(
+             mAddToDictionaryButton = (TextView) mContentView.findViewById(
                      com.android.internal.R.id.addToDictionaryButton);
              mAddToDictionaryButton.setOnClickListener(new View.OnClickListener() {
                  public void onClick(View v) {
                  }
              });
  
-             mDeleteButton = (TextView) relativeLayout.findViewById(
+             mDeleteButton = (TextView) mContentView.findViewById(
                      com.android.internal.R.id.deleteButton);
              mDeleteButton.setOnClickListener(new View.OnClickListener() {
                  public void onClick(View v) {
              mDeleteButton.measure(horizontalMeasure, verticalMeasure);
              width = Math.max(width, mDeleteButton.getMeasuredWidth());
  
-             width += mContainerMarginWidth;
+             width += mContainerView.getPaddingLeft() + mContainerView.getPaddingRight()
+                     + mContainerMarginWidth;
  
              // Enforce the width based on actual text widths
              mContentView.measure(