Index: chrome/android/java/src/org/chromium/chrome/browser/payments/ui/PaymentRequestUI.java |
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/payments/ui/PaymentRequestUI.java b/chrome/android/java/src/org/chromium/chrome/browser/payments/ui/PaymentRequestUI.java |
index 731136017ac9f84aca7b1efc0f4fcc80a2cf2ba6..2fab5b61f4bbd6b26b9442d4324c6c1db225d941 100644 |
--- a/chrome/android/java/src/org/chromium/chrome/browser/payments/ui/PaymentRequestUI.java |
+++ b/chrome/android/java/src/org/chromium/chrome/browser/payments/ui/PaymentRequestUI.java |
@@ -45,16 +45,18 @@ import org.chromium.base.ApiCompatibilityUtils; |
import org.chromium.base.Callback; |
import org.chromium.base.VisibleForTesting; |
import org.chromium.chrome.R; |
+import org.chromium.chrome.browser.UrlConstants; |
import org.chromium.chrome.browser.payments.ShippingStrings; |
import org.chromium.chrome.browser.payments.ui.PaymentRequestSection.ExtraTextsSection; |
import org.chromium.chrome.browser.payments.ui.PaymentRequestSection.LineItemBreakdownSection; |
import org.chromium.chrome.browser.payments.ui.PaymentRequestSection.OptionSection; |
import org.chromium.chrome.browser.payments.ui.PaymentRequestSection.SectionSeparator; |
import org.chromium.chrome.browser.widget.AlwaysDismissedDialog; |
-import org.chromium.chrome.browser.widget.DualControlLayout; |
+import org.chromium.chrome.browser.widget.TintedDrawable; |
import org.chromium.chrome.browser.widget.animation.AnimatorProperties; |
import org.chromium.chrome.browser.widget.animation.FocusAnimator; |
import org.chromium.components.signin.ChromeSigninController; |
+import org.chromium.components.url_formatter.UrlFormatter; |
import org.chromium.ui.text.NoUnderlineClickableSpan; |
import org.chromium.ui.text.SpanApplier; |
import org.chromium.ui.text.SpanApplier.SpanInfo; |
@@ -317,7 +319,7 @@ public class PaymentRequestUI implements DialogInterface.OnDismissListener, View |
private ScrollView mPaymentContainer; |
private LinearLayout mPaymentContainerLayout; |
- private DualControlLayout mButtonBar; |
+ private LinearLayout mBottomBar; |
private Button mEditButton; |
private Button mPayButton; |
private View mCloseButton; |
@@ -543,21 +545,30 @@ public class PaymentRequestUI implements DialogInterface.OnDismissListener, View |
messageView.setText(R.string.payments_loading_message); |
((TextView) mRequestView.findViewById(R.id.page_title)).setText(title); |
- ((TextView) mRequestView.findViewById(R.id.hostname)).setText(origin); |
+ |
+ TextView hostName = (TextView) mRequestView.findViewById(R.id.hostname); |
+ if (origin.startsWith(UrlConstants.HTTPS_SCHEME)) { |
please use gerrit instead
2017/02/16 19:41:51
Let's use HTTPS_URL_PREFIX instead of HTTPS_SCHEME
gogerald1
2017/02/17 00:44:45
Done.
|
+ // Tint https scheme and add compound drawable for security display. |
+ hostName.setText(UrlFormatter.tintUrlSchemeForSecurityDisplay( |
+ origin, ApiCompatibilityUtils.getColor( |
+ context.getResources(), R.color.google_green_700))); |
+ ApiCompatibilityUtils.setCompoundDrawablesRelativeWithIntrinsicBounds(hostName, |
+ TintedDrawable.constructTintedDrawable(context.getResources(), |
+ R.drawable.omnibox_https_valid, R.color.google_green_700), |
+ null, null, null); |
gone
2017/02/16 19:18:56
newline here to avoid comment sandwich
gogerald1
2017/02/17 00:44:46
Done.
|
+ // Remove left padding to align left compound drawable with the title. Note that the |
+ // left compound drawable has transparent boundary. |
+ hostName.setPaddingRelative(0, 0, 0, 0); |
+ } else { |
+ hostName.setText(origin); |
+ } |
// Set up the buttons. |
mCloseButton = mRequestView.findViewById(R.id.close_button); |
mCloseButton.setOnClickListener(this); |
- mPayButton = DualControlLayout.createButtonForLayout( |
- context, true, context.getString(R.string.payments_pay_button), this); |
- mEditButton = DualControlLayout.createButtonForLayout( |
- context, false, context.getString(R.string.payments_edit_button), this); |
- mButtonBar = (DualControlLayout) mRequestView.findViewById(R.id.button_bar); |
- mButtonBar.setAlignment(DualControlLayout.ALIGN_END); |
- mButtonBar.setStackedMargin(context.getResources().getDimensionPixelSize( |
- R.dimen.infobar_margin_between_stacked_buttons)); |
- mButtonBar.addView(mPayButton); |
- mButtonBar.addView(mEditButton); |
+ mPayButton = (Button) mRequestView.findViewById(R.id.pay_button); |
+ mEditButton = (Button) mRequestView.findViewById(R.id.edit_button); |
+ mBottomBar = (LinearLayout) mRequestView.findViewById(R.id.bottom_bar); |
// Create all the possible sections. |
mSectionSeparators = new ArrayList<>(); |
@@ -925,7 +936,7 @@ public class PaymentRequestUI implements DialogInterface.OnDismissListener, View |
if (showSpinner) { |
mPaymentContainer.setVisibility(View.GONE); |
- mButtonBar.setVisibility(View.GONE); |
+ mBottomBar.setVisibility(View.GONE); |
mCloseButton.setVisibility(View.GONE); |
mSpinnyLayout.setVisibility(View.VISIBLE); |
@@ -936,7 +947,7 @@ public class PaymentRequestUI implements DialogInterface.OnDismissListener, View |
mRequestView.requestLayout(); |
} else { |
mPaymentContainer.setVisibility(View.VISIBLE); |
- mButtonBar.setVisibility(View.VISIBLE); |
+ mBottomBar.setVisibility(View.VISIBLE); |
mCloseButton.setVisibility(View.VISIBLE); |
mSpinnyLayout.setVisibility(View.GONE); |
@@ -1274,11 +1285,11 @@ public class PaymentRequestUI implements DialogInterface.OnDismissListener, View |
/** Animates the bottom sheet expanding to a larger sheet. */ |
private class SheetEnlargingAnimator |
extends AnimatorListenerAdapter implements OnLayoutChangeListener { |
- private final boolean mIsButtonBarLockedInPlace; |
+ private final boolean mIsBottomBarLockedInPlace; |
private int mContainerHeightDifference; |
- public SheetEnlargingAnimator(boolean isButtonBarLockedInPlace) { |
- mIsButtonBarLockedInPlace = isButtonBarLockedInPlace; |
+ public SheetEnlargingAnimator(boolean isBottomBarLockedInPlace) { |
+ mIsBottomBarLockedInPlace = isBottomBarLockedInPlace; |
} |
/** |
@@ -1292,17 +1303,17 @@ public class PaymentRequestUI implements DialogInterface.OnDismissListener, View |
float containerTranslation = mContainerHeightDifference * progress; |
mRequestView.setTranslationY(containerTranslation); |
- if (mIsButtonBarLockedInPlace) { |
- // The button bar is translated along the dialog so that is looks like it stays in |
+ if (mIsBottomBarLockedInPlace) { |
+ // The bottom bar is translated along the dialog so that is looks like it stays in |
// place at the bottom while the entire bottom sheet is translating upwards. |
- mButtonBar.setTranslationY(-containerTranslation); |
+ mBottomBar.setTranslationY(-containerTranslation); |
- // The payment container is sandwiched between the header and the button bar. |
+ // The payment container is sandwiched between the header and the bottom bar. |
// Expansion animates by changing where its "bottom" is, letting its shadows appear |
// and disappear as it changes size. |
- int paymentContainerBottom = Math.min( |
- mPaymentContainer.getTop() + mPaymentContainer.getMeasuredHeight(), |
- mButtonBar.getTop()); |
+ int paymentContainerBottom = |
+ Math.min(mPaymentContainer.getTop() + mPaymentContainer.getMeasuredHeight(), |
+ mBottomBar.getTop()); |
mPaymentContainer.setBottom(paymentContainerBottom); |
} |
} |
@@ -1335,7 +1346,7 @@ public class PaymentRequestUI implements DialogInterface.OnDismissListener, View |
public void onAnimationEnd(Animator animation) { |
// Reset the layout so that everything is in the expected place. |
mRequestView.setTranslationY(0); |
- mButtonBar.setTranslationY(0); |
+ mBottomBar.setTranslationY(0); |
mRequestView.requestLayout(); |
// Indicate that the dialog is ready to use. |