diff --git a/core/res/res/layout/autofill_fill_dialog.xml b/core/res/res/layout/autofill_fill_dialog.xml index 2e65800d5abbc..d1a4935633cbb 100644 --- a/core/res/res/layout/autofill_fill_dialog.xml +++ b/core/res/res/layout/autofill_fill_dialog.xml @@ -35,10 +35,10 @@ + android:layout_height="@dimen/autofill_dialog_icon_max_height" + android:layout_width="fill_parent"/> + android:layout_height="@dimen/autofill_save_icon_max_height" + android:layout_width="fill_parent"/> diff --git a/core/res/res/values/dimens.xml b/core/res/res/values/dimens.xml index bc0af12e95690..24da59a378f81 100644 --- a/core/res/res/values/dimens.xml +++ b/core/res/res/values/dimens.xml @@ -874,6 +874,7 @@ 32dp 16dp 32dp + 56dp 8dp 16dp 16dp @@ -882,19 +883,18 @@ 20% - - 300dp - 3 - + 32dp + + 56dp + + + 640dp + 56dp diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml index b592dc027e244..f35e32b126ba8 100644 --- a/core/res/res/values/symbols.xml +++ b/core/res/res/values/symbols.xml @@ -3660,8 +3660,8 @@ - + @@ -5018,7 +5018,7 @@ - + diff --git a/services/autofill/java/com/android/server/autofill/ui/DialogFillUi.java b/services/autofill/java/com/android/server/autofill/ui/DialogFillUi.java index dec0e7666b1b8..dbeb624bd202c 100644 --- a/services/autofill/java/com/android/server/autofill/ui/DialogFillUi.java +++ b/services/autofill/java/com/android/server/autofill/ui/DialogFillUi.java @@ -29,6 +29,7 @@ import android.graphics.drawable.Drawable; import android.service.autofill.Dataset; import android.service.autofill.FillResponse; import android.text.TextUtils; +import android.util.DisplayMetrics; import android.util.PluralsMessageFormatter; import android.util.Slog; import android.view.ContextThemeWrapper; @@ -177,7 +178,14 @@ final class DialogFillUi { window.setGravity(Gravity.BOTTOM | Gravity.CENTER); window.setCloseOnTouchOutside(true); final WindowManager.LayoutParams params = window.getAttributes(); - params.width = WindowManager.LayoutParams.MATCH_PARENT; + + DisplayMetrics displayMetrics = new DisplayMetrics(); + window.getWindowManager().getDefaultDisplay().getMetrics(displayMetrics); + final int screenWidth = displayMetrics.widthPixels; + final int maxWidth = + mContext.getResources().getDimensionPixelSize(R.dimen.autofill_dialog_max_width); + params.width = Math.min(screenWidth, maxWidth); + params.accessibilityTitle = mContext.getString(R.string.autofill_picker_accessibility_title); params.windowAnimations = R.style.AutofillSaveAnimation; diff --git a/services/autofill/java/com/android/server/autofill/ui/SaveUi.java b/services/autofill/java/com/android/server/autofill/ui/SaveUi.java index 12042594fefbd..f035d07642790 100644 --- a/services/autofill/java/com/android/server/autofill/ui/SaveUi.java +++ b/services/autofill/java/com/android/server/autofill/ui/SaveUi.java @@ -48,6 +48,7 @@ import android.text.TextUtils; import android.text.method.LinkMovementMethod; import android.text.style.ClickableSpan; import android.util.ArraySet; +import android.util.DisplayMetrics; import android.util.Pair; import android.util.Slog; import android.util.SparseArray; @@ -361,7 +362,14 @@ final class SaveUi { window.setGravity(Gravity.BOTTOM | Gravity.CENTER); window.setCloseOnTouchOutside(true); final WindowManager.LayoutParams params = window.getAttributes(); - params.width = WindowManager.LayoutParams.MATCH_PARENT; + + DisplayMetrics displayMetrics = new DisplayMetrics(); + window.getWindowManager().getDefaultDisplay().getMetrics(displayMetrics); + final int screenWidth = displayMetrics.widthPixels; + final int maxWidth = + context.getResources().getDimensionPixelSize(R.dimen.autofill_dialog_max_width); + params.width = Math.min(screenWidth, maxWidth); + params.accessibilityTitle = context.getString(R.string.autofill_save_accessibility_title); params.windowAnimations = R.style.AutofillSaveAnimation; params.setTrustedOverlay(); @@ -563,25 +571,7 @@ final class SaveUi { private void setServiceIcon(Context context, View view, Drawable serviceIcon) { final ImageView iconView = view.findViewById(R.id.autofill_save_icon); final Resources res = context.getResources(); - - final int maxWidth = res.getDimensionPixelSize(R.dimen.autofill_save_icon_max_size); - final int maxHeight = maxWidth; - final int actualWidth = serviceIcon.getMinimumWidth(); - final int actualHeight = serviceIcon.getMinimumHeight(); - - if (actualWidth <= maxWidth && actualHeight <= maxHeight) { - if (sDebug) { - Slog.d(TAG, "Adding service icon " - + "(" + actualWidth + "x" + actualHeight + ") as it's less than maximum " - + "(" + maxWidth + "x" + maxHeight + ")."); - } - iconView.setImageDrawable(serviceIcon); - } else { - Slog.w(TAG, "Not adding service icon of size " - + "(" + actualWidth + "x" + actualHeight + ") because maximum is " - + "(" + maxWidth + "x" + maxHeight + ")."); - ((ViewGroup)iconView.getParent()).removeView(iconView); - } + iconView.setImageDrawable(serviceIcon); } private static boolean isValidLink(PendingIntent pendingIntent, Intent intent) {