summaryrefslogtreecommitdiff
path: root/chromium/components/browser_ui/widget/android
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2020-10-12 14:27:29 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2020-10-13 09:35:20 +0000
commitc30a6232df03e1efbd9f3b226777b07e087a1122 (patch)
treee992f45784689f373bcc38d1b79a239ebe17ee23 /chromium/components/browser_ui/widget/android
parent7b5b123ac58f58ffde0f4f6e488bcd09aa4decd3 (diff)
downloadqtwebengine-chromium-85-based.tar.gz
BASELINE: Update Chromium to 85.0.4183.14085-based
Change-Id: Iaa42f4680837c57725b1344f108c0196741f6057 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'chromium/components/browser_ui/widget/android')
-rw-r--r--chromium/components/browser_ui/widget/android/BUILD.gn6
-rw-r--r--chromium/components/browser_ui/widget/android/java/res/layout/promo_dialog_layout.xml2
-rw-r--r--chromium/components/browser_ui/widget/android/java/res/values/dimens.xml2
-rw-r--r--chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/DualControlLayoutTest.java3
-rw-r--r--chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/InsetObserverViewTest.java3
-rw-r--r--chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/MoreProgressButtonTest.java5
-rw-r--r--chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/PromoDialog.java17
-rw-r--r--chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/PromoDialogLayout.java14
-rw-r--r--chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/PromoDialogTest.java2
-rw-r--r--chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/RadioButtonLayoutTest.java3
-rw-r--r--chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/RadioButtonRenderTest.java6
-rw-r--r--chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/RadioButtonWithDescriptionLayoutTest.java3
-rw-r--r--chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/RadioButtonWithEditTextTest.java19
-rw-r--r--chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/RoundedIconGeneratorTest.java3
-rw-r--r--chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/WrappingLayoutTest.java6
-rw-r--r--chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/highlight/ViewHighlighterTest.java3
-rw-r--r--chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/image_tiles/TileCoordinatorImpl.java2
-rw-r--r--chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/image_tiles/TileListView.java24
-rw-r--r--chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/listmenu/ListMenuRenderTest.java3
-rw-r--r--chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/promo/PromoCardCoordinatorTest.java2
-rw-r--r--chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/promo/PromoCardImpressionTest.java3
-rw-r--r--chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/promo/PromoCardViewRenderTest.java18
-rw-r--r--chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/scrim/ScrimTest.java20
-rw-r--r--chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/text/AlertDialogEditText.java62
24 files changed, 133 insertions, 98 deletions
diff --git a/chromium/components/browser_ui/widget/android/BUILD.gn b/chromium/components/browser_ui/widget/android/BUILD.gn
index 2eaf6be1599..0d95a17fd7f 100644
--- a/chromium/components/browser_ui/widget/android/BUILD.gn
+++ b/chromium/components/browser_ui/widget/android/BUILD.gn
@@ -101,6 +101,7 @@ android_library("java") {
"//components/embedder_support/android:util_java",
"//third_party/android_deps:android_support_v4_java",
"//third_party/android_deps:android_support_v7_appcompat_java",
+ "//third_party/android_deps:androidx_appcompat_appcompat_resources_java",
"//third_party/android_deps:androidx_interpolator_interpolator_java",
"//third_party/android_deps:androidx_recyclerview_recyclerview_java",
"//ui/android:ui_java",
@@ -235,9 +236,11 @@ android_library("javatests") {
"//base:base_java_test_support",
"//content/public/test/android:content_java_test_support",
"//third_party/android_deps:androidx_appcompat_appcompat_java",
+ "//third_party/android_deps:androidx_appcompat_appcompat_resources_java",
"//third_party/android_deps:androidx_core_core_java",
"//third_party/android_support_test_runner:rules_java",
"//third_party/android_support_test_runner:runner_java",
+ "//third_party/hamcrest:hamcrest_java",
"//third_party/junit",
"//ui/android:ui_java",
"//ui/android:ui_java_test_support",
@@ -284,5 +287,8 @@ java_library("junit") {
"//base:base_java_test_support",
"//base:base_junit_test_support",
"//base/test:test_support_java",
+ "//third_party/android_deps:robolectric_all_java",
+ "//third_party/junit",
+ "//third_party/mockito:mockito_java",
]
}
diff --git a/chromium/components/browser_ui/widget/android/java/res/layout/promo_dialog_layout.xml b/chromium/components/browser_ui/widget/android/java/res/layout/promo_dialog_layout.xml
index 7008991f559..1597e8a35b6 100644
--- a/chromium/components/browser_ui/widget/android/java/res/layout/promo_dialog_layout.xml
+++ b/chromium/components/browser_ui/widget/android/java/res/layout/promo_dialog_layout.xml
@@ -63,6 +63,7 @@
android:id="@+id/header"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
+ android:textDirection="locale"
android:layout_marginTop="@dimen/dialog_header_margin"
android:layout_marginBottom="@dimen/dialog_header_margin"
android:textAppearance="@style/TextAppearance.Headline.Primary" />
@@ -71,6 +72,7 @@
android:id="@+id/subheader"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
+ android:textDirection="locale"
app:leading="@dimen/text_size_medium_leading"
style="@style/TextAppearance.TextMedium.Secondary" />
</org.chromium.components.browser_ui.widget.BoundedLinearLayout>
diff --git a/chromium/components/browser_ui/widget/android/java/res/values/dimens.xml b/chromium/components/browser_ui/widget/android/java/res/values/dimens.xml
index bb87b51078a..6b5699af985 100644
--- a/chromium/components/browser_ui/widget/android/java/res/values/dimens.xml
+++ b/chromium/components/browser_ui/widget/android/java/res/values/dimens.xml
@@ -16,7 +16,7 @@
<!-- Dialogs -->
<dimen name="dialog_max_width">600dp</dimen>
<dimen name="dialog_header_margin">14dp</dimen>
- <dimen name="promo_dialog_illustration_margin">24dp</dimen>
+ <dimen name="promo_dialog_illustration_margin">8dp</dimen>
<dimen name="promo_dialog_illustration_width">150dp</dimen>
<dimen name="promo_dialog_padding">16dp</dimen>
<dimen name="promo_dialog_stacked_margin">16dp</dimen>
diff --git a/chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/DualControlLayoutTest.java b/chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/DualControlLayoutTest.java
index 81d29b61223..3fb1559fe9e 100644
--- a/chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/DualControlLayoutTest.java
+++ b/chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/DualControlLayoutTest.java
@@ -7,7 +7,6 @@ package org.chromium.components.browser_ui.widget;
import android.content.Context;
import android.support.test.InstrumentationRegistry;
import android.support.test.annotation.UiThreadTest;
-import android.support.test.filters.SmallTest;
import android.support.test.rule.UiThreadTestRule;
import android.view.LayoutInflater;
import android.view.View;
@@ -17,6 +16,8 @@ import android.widget.Button;
import android.widget.FrameLayout;
import android.widget.Space;
+import androidx.test.filters.SmallTest;
+
import org.junit.Assert;
import org.junit.Before;
import org.junit.Rule;
diff --git a/chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/InsetObserverViewTest.java b/chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/InsetObserverViewTest.java
index eec6e7e9303..f432e57c7fb 100644
--- a/chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/InsetObserverViewTest.java
+++ b/chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/InsetObserverViewTest.java
@@ -12,10 +12,11 @@ import static org.mockito.Mockito.verify;
import android.app.Activity;
import android.content.Context;
import android.graphics.Rect;
-import android.support.test.filters.SmallTest;
import android.view.WindowInsets;
import android.widget.LinearLayout;
+import androidx.test.filters.SmallTest;
+
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
diff --git a/chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/MoreProgressButtonTest.java b/chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/MoreProgressButtonTest.java
index 150fe66426f..80e15e276f3 100644
--- a/chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/MoreProgressButtonTest.java
+++ b/chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/MoreProgressButtonTest.java
@@ -8,13 +8,14 @@ import static android.view.ViewGroup.LayoutParams.MATCH_PARENT;
import static android.view.ViewGroup.LayoutParams.WRAP_CONTENT;
import android.app.Activity;
-import android.support.test.filters.MediumTest;
-import android.support.test.filters.SmallTest;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.FrameLayout;
import android.widget.TextView;
+import androidx.test.filters.MediumTest;
+import androidx.test.filters.SmallTest;
+
import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
diff --git a/chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/PromoDialog.java b/chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/PromoDialog.java
index c7eb7c979bb..56cf042fdd9 100644
--- a/chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/PromoDialog.java
+++ b/chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/PromoDialog.java
@@ -50,6 +50,12 @@ public abstract class PromoDialog extends AlwaysDismissedDialog
public int headerStringResource;
/**
+ * Optional: CharSequence to show as promo title.
+ * This parameter takes precedence over {@link #headerStringResoruce}
+ */
+ public CharSequence headerCharSequence;
+
+ /**
* Optional: CharSequence to show as descriptive text.
* This parameter takes precedence over {@link #subheaderStringResoruce}
*/
@@ -67,6 +73,12 @@ public abstract class PromoDialog extends AlwaysDismissedDialog
/** Optional: Resource ID of the String to show on the primary/ok button. */
public int primaryButtonStringResource;
+ /**
+ * Optional: CharSequence to show on the primary/ok button.
+ * This parameter takes precedence over {@link #primaryButtonStringResource}
+ */
+ public CharSequence primaryButtonCharSequence;
+
/** Optional: Resource ID of the String to show on the secondary/cancel button. */
public int secondaryButtonStringResource;
}
@@ -74,7 +86,7 @@ public abstract class PromoDialog extends AlwaysDismissedDialog
private static final int[] CLICKABLE_BUTTON_IDS = {R.id.button_primary, R.id.button_secondary};
private final FrameLayout mScrimView;
- private final PromoDialogLayout mDialogLayout;
+ private PromoDialogLayout mDialogLayout;
protected PromoDialog(Activity activity) {
super(activity, R.style.PromoDialog);
@@ -85,7 +97,6 @@ public abstract class PromoDialog extends AlwaysDismissedDialog
LayoutInflater.from(activity).inflate(R.layout.promo_dialog_layout, mScrimView, true);
mDialogLayout = (PromoDialogLayout) mScrimView.findViewById(R.id.promo_dialog_layout);
- mDialogLayout.initialize(getDialogParams());
}
/**
@@ -112,6 +123,8 @@ public abstract class PromoDialog extends AlwaysDismissedDialog
super.onCreate(savedInstanceState);
setContentView(mScrimView);
+ mDialogLayout.initialize(getDialogParams());
+
// Force the window to allow the dialog contents be as wide as necessary.
getWindow().setLayout(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
diff --git a/chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/PromoDialogLayout.java b/chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/PromoDialogLayout.java
index d9fc7165c1c..600212068de 100644
--- a/chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/PromoDialogLayout.java
+++ b/chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/PromoDialogLayout.java
@@ -81,8 +81,8 @@ public final class PromoDialogLayout extends BoundedLinearLayout {
/** Initializes the dialog contents using the given params. Should only be called once. */
void initialize(DialogParams params) {
assert mParams == null && params != null;
- assert params.headerStringResource != 0;
- assert params.primaryButtonStringResource != 0;
+ assert params.headerStringResource != 0 || params.headerCharSequence != null;
+ assert params.primaryButtonStringResource != 0 || params.primaryButtonCharSequence != null;
mParams = params;
if (mParams.drawableInstance != null) {
@@ -99,7 +99,11 @@ public final class PromoDialogLayout extends BoundedLinearLayout {
}
// Create the header.
- mHeaderView.setText(mParams.headerStringResource);
+ if (mParams.headerCharSequence != null) {
+ mHeaderView.setText(mParams.headerCharSequence);
+ } else {
+ mHeaderView.setText(mParams.headerStringResource);
+ }
// Set up the subheader text.
if (mParams.subheaderCharSequence != null) {
@@ -124,7 +128,9 @@ public final class PromoDialogLayout extends BoundedLinearLayout {
// Create the buttons.
DualControlLayout buttonBar = (DualControlLayout) findViewById(R.id.button_bar);
- String primaryString = getResources().getString(mParams.primaryButtonStringResource);
+ String primaryString = mParams.primaryButtonCharSequence != null
+ ? mParams.primaryButtonCharSequence.toString()
+ : getResources().getString(mParams.primaryButtonStringResource);
buttonBar.addView(
DualControlLayout.createButtonForLayout(getContext(), true, primaryString, null));
diff --git a/chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/PromoDialogTest.java b/chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/PromoDialogTest.java
index df463c2ca1e..0246900b7d4 100644
--- a/chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/PromoDialogTest.java
+++ b/chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/PromoDialogTest.java
@@ -7,7 +7,6 @@ package org.chromium.components.browser_ui.widget;
import android.app.Activity;
import android.content.DialogInterface;
import android.support.test.InstrumentationRegistry;
-import android.support.test.filters.SmallTest;
import android.text.method.LinkMovementMethod;
import android.view.View;
import android.view.View.MeasureSpec;
@@ -16,6 +15,7 @@ import android.widget.LinearLayout;
import android.widget.TextView;
import androidx.core.view.ViewCompat;
+import androidx.test.filters.SmallTest;
import org.junit.Assert;
import org.junit.Test;
diff --git a/chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/RadioButtonLayoutTest.java b/chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/RadioButtonLayoutTest.java
index 4c9eab9f127..c2ac17da022 100644
--- a/chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/RadioButtonLayoutTest.java
+++ b/chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/RadioButtonLayoutTest.java
@@ -7,12 +7,13 @@ package org.chromium.components.browser_ui.widget;
import android.content.Context;
import android.support.test.InstrumentationRegistry;
import android.support.test.annotation.UiThreadTest;
-import android.support.test.filters.SmallTest;
import android.support.test.rule.UiThreadTestRule;
import android.view.View;
import android.view.ViewGroup.MarginLayoutParams;
import android.widget.RadioButton;
+import androidx.test.filters.SmallTest;
+
import org.junit.Assert;
import org.junit.Before;
import org.junit.Rule;
diff --git a/chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/RadioButtonRenderTest.java b/chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/RadioButtonRenderTest.java
index 9c379ac4673..54a2c38801e 100644
--- a/chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/RadioButtonRenderTest.java
+++ b/chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/RadioButtonRenderTest.java
@@ -6,10 +6,11 @@ package org.chromium.components.browser_ui.widget;
import android.app.Activity;
import android.graphics.Color;
-import android.support.test.filters.SmallTest;
import android.view.LayoutInflater;
import android.view.View;
+import androidx.test.filters.SmallTest;
+
import org.junit.Assert;
import org.junit.Rule;
import org.junit.Test;
@@ -41,8 +42,7 @@ public class RadioButtonRenderTest extends DummyUiActivityTestCase {
new NightModeTestUtils.NightModeParams().getParameters();
@Rule
- public RenderTestRule mRenderTestRule =
- new RenderTestRule("chrome/test/data/android/render_tests");
+ public RenderTestRule mRenderTestRule = new RenderTestRule();
private RadioButtonWithDescriptionLayout mLayout;
diff --git a/chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/RadioButtonWithDescriptionLayoutTest.java b/chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/RadioButtonWithDescriptionLayoutTest.java
index abbb5974759..c831fb5f45d 100644
--- a/chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/RadioButtonWithDescriptionLayoutTest.java
+++ b/chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/RadioButtonWithDescriptionLayoutTest.java
@@ -7,7 +7,6 @@ package org.chromium.components.browser_ui.widget;
import android.content.Context;
import android.support.test.InstrumentationRegistry;
import android.support.test.annotation.UiThreadTest;
-import android.support.test.filters.SmallTest;
import android.support.test.rule.UiThreadTestRule;
import android.text.TextUtils;
import android.view.LayoutInflater;
@@ -16,6 +15,8 @@ import android.view.ViewGroup.MarginLayoutParams;
import android.widget.EditText;
import android.widget.TextView;
+import androidx.test.filters.SmallTest;
+
import org.junit.Assert;
import org.junit.Before;
import org.junit.Rule;
diff --git a/chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/RadioButtonWithEditTextTest.java b/chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/RadioButtonWithEditTextTest.java
index 28e78008db2..66d0d8d9bfa 100644
--- a/chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/RadioButtonWithEditTextTest.java
+++ b/chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/RadioButtonWithEditTextTest.java
@@ -6,7 +6,6 @@ package org.chromium.components.browser_ui.widget;
import android.app.Activity;
import android.support.test.InstrumentationRegistry;
-import android.support.test.filters.SmallTest;
import android.text.InputType;
import android.text.TextUtils;
import android.view.KeyEvent;
@@ -17,6 +16,9 @@ import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.TextView;
+import androidx.test.filters.SmallTest;
+
+import org.hamcrest.Matchers;
import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -266,14 +268,11 @@ public class RadioButtonWithEditTextTest extends DummyUiActivityTestCase {
}
private void assertIsKeyboardShowing(boolean isShowing) {
- CriteriaHelper.pollUiThread(
- new Criteria("Keyboard visibility does not consist with test setting.") {
- @Override
- public boolean isSatisfied() {
- return KeyboardVisibilityDelegate.getInstance().isKeyboardShowing(
- mActivity, mEditText)
- == isShowing;
- }
- });
+ CriteriaHelper.pollUiThread(() -> {
+ Criteria.checkThat("Keyboard visibility does not consist with test setting.",
+ KeyboardVisibilityDelegate.getInstance().isKeyboardShowing(
+ mActivity, mEditText),
+ Matchers.is(isShowing));
+ });
}
}
diff --git a/chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/RoundedIconGeneratorTest.java b/chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/RoundedIconGeneratorTest.java
index 4a20edde91b..8a7f4f809b5 100644
--- a/chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/RoundedIconGeneratorTest.java
+++ b/chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/RoundedIconGeneratorTest.java
@@ -7,7 +7,8 @@ package org.chromium.components.browser_ui.widget;
import android.content.Context;
import android.graphics.Color;
import android.support.test.InstrumentationRegistry;
-import android.support.test.filters.SmallTest;
+
+import androidx.test.filters.SmallTest;
import org.junit.Assert;
import org.junit.Before;
diff --git a/chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/WrappingLayoutTest.java b/chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/WrappingLayoutTest.java
index 2b5a03bc0af..854b7da4ad1 100644
--- a/chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/WrappingLayoutTest.java
+++ b/chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/WrappingLayoutTest.java
@@ -6,11 +6,11 @@ package org.chromium.components.browser_ui.widget;
import android.content.Context;
import android.support.test.InstrumentationRegistry;
-import android.support.test.filters.SmallTest;
-import android.util.LayoutDirection;
import android.view.View;
import android.view.View.MeasureSpec;
+import androidx.test.filters.SmallTest;
+
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
@@ -525,7 +525,7 @@ public class WrappingLayoutTest {
ViewExpectation expectationB, ViewExpectation expectationC) {
WrappingLayoutSubclass layout = WrappingLayoutSubclass.create(
mContext, leftTopPadding, bottomRightPadding, spacing);
- layout.setLayoutDirection(LayoutDirection.RTL);
+ layout.setLayoutDirection(View.LAYOUT_DIRECTION_RTL);
layout.addTestViews(margin);
layout.layoutAtSize(width, height, specWidth, specHeight, 0, 0);
diff --git a/chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/highlight/ViewHighlighterTest.java b/chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/highlight/ViewHighlighterTest.java
index 89022527e1a..1413dcca40a 100644
--- a/chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/highlight/ViewHighlighterTest.java
+++ b/chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/highlight/ViewHighlighterTest.java
@@ -8,11 +8,12 @@ import android.content.Context;
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.support.test.InstrumentationRegistry;
-import android.support.test.filters.MediumTest;
import android.support.test.rule.UiThreadTestRule;
import android.view.View;
import android.widget.ImageView;
+import androidx.test.filters.MediumTest;
+
import org.junit.Assert;
import org.junit.Before;
import org.junit.Rule;
diff --git a/chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/image_tiles/TileCoordinatorImpl.java b/chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/image_tiles/TileCoordinatorImpl.java
index bf599b35094..81e7e318a69 100644
--- a/chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/image_tiles/TileCoordinatorImpl.java
+++ b/chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/image_tiles/TileCoordinatorImpl.java
@@ -40,7 +40,7 @@ class TileCoordinatorImpl implements ImageTileCoordinator {
for (int i = 0; i < mModel.size(); i++) {
oldTiles.add(mModel.get(i));
}
- boolean shouldAnimate = !oldTiles.isEmpty() && !oldTiles.equals(tiles);
+ boolean shouldAnimate = !oldTiles.isEmpty() && !tiles.isEmpty() && !oldTiles.equals(tiles);
mModel.set(tiles);
mView.scrollToBeginning();
diff --git a/chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/image_tiles/TileListView.java b/chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/image_tiles/TileListView.java
index 9d1b4b8f2c2..4e7166f23f8 100644
--- a/chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/image_tiles/TileListView.java
+++ b/chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/image_tiles/TileListView.java
@@ -8,6 +8,8 @@ import android.content.Context;
import android.content.res.Configuration;
import android.graphics.Rect;
import android.view.View;
+import android.view.animation.Animation;
+import android.view.animation.Animation.AnimationListener;
import android.view.animation.AnimationUtils;
import android.view.animation.LayoutAnimationController;
@@ -58,7 +60,7 @@ class TileListView {
mView.setItemAnimator(null);
mLayoutAnimationController =
AnimationUtils.loadLayoutAnimation(context, R.anim.image_grid_enter);
-
+ configureAnimationListener();
mTileSizeSupplier = new TileSizeSupplier(context);
PropertyModelChangeProcessor.create(
@@ -86,7 +88,25 @@ class TileListView {
* Called to show enter animation for the list items.
*/
void showAnimation(boolean animate) {
- // TODO(shaktisahu): Fix animations.
+ if (animate) {
+ mView.setLayoutAnimation(mLayoutAnimationController);
+ mView.scheduleLayoutAnimation();
+ }
+ }
+
+ private void configureAnimationListener() {
+ mView.setLayoutAnimationListener(new AnimationListener() {
+ @Override
+ public void onAnimationStart(Animation animation) {}
+
+ @Override
+ public void onAnimationEnd(Animation animation) {
+ mView.setLayoutAnimation(null);
+ }
+
+ @Override
+ public void onAnimationRepeat(Animation animation) {}
+ });
}
private class ItemDecorationImpl extends ItemDecoration {
diff --git a/chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/listmenu/ListMenuRenderTest.java b/chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/listmenu/ListMenuRenderTest.java
index 4fa1d04947c..ea9367e9b52 100644
--- a/chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/listmenu/ListMenuRenderTest.java
+++ b/chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/listmenu/ListMenuRenderTest.java
@@ -44,8 +44,7 @@ public class ListMenuRenderTest extends DummyUiActivityTestCase {
new NightModeTestUtils.NightModeParams().getParameters();
@Rule
- public RenderTestRule mRenderTestRule =
- new RenderTestRule("chrome/test/data/android/render_tests");
+ public RenderTestRule mRenderTestRule = new RenderTestRule();
private View mView;
diff --git a/chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/promo/PromoCardCoordinatorTest.java b/chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/promo/PromoCardCoordinatorTest.java
index 85bd7e6ac5d..be10a6832e7 100644
--- a/chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/promo/PromoCardCoordinatorTest.java
+++ b/chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/promo/PromoCardCoordinatorTest.java
@@ -7,10 +7,10 @@ package org.chromium.components.browser_ui.widget.promo;
import android.content.Context;
import android.graphics.drawable.Drawable;
import android.support.test.InstrumentationRegistry;
-import android.support.test.filters.SmallTest;
import android.view.View;
import androidx.appcompat.content.res.AppCompatResources;
+import androidx.test.filters.SmallTest;
import org.junit.Assert;
import org.junit.Before;
diff --git a/chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/promo/PromoCardImpressionTest.java b/chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/promo/PromoCardImpressionTest.java
index 871b0594c6c..a911afaf2bf 100644
--- a/chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/promo/PromoCardImpressionTest.java
+++ b/chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/promo/PromoCardImpressionTest.java
@@ -5,11 +5,12 @@
package org.chromium.components.browser_ui.widget.promo;
import android.app.Activity;
-import android.support.test.filters.SmallTest;
import android.view.View;
import android.view.ViewGroup.LayoutParams;
import android.widget.FrameLayout;
+import androidx.test.filters.SmallTest;
+
import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
diff --git a/chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/promo/PromoCardViewRenderTest.java b/chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/promo/PromoCardViewRenderTest.java
index 34c2aa3763e..857f5cd03b9 100644
--- a/chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/promo/PromoCardViewRenderTest.java
+++ b/chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/promo/PromoCardViewRenderTest.java
@@ -6,14 +6,15 @@ package org.chromium.components.browser_ui.widget.promo;
import android.app.Activity;
import android.graphics.drawable.Drawable;
-import android.support.test.filters.SmallTest;
import android.view.View;
import android.view.ViewGroup;
import android.widget.LinearLayout;
import android.widget.LinearLayout.LayoutParams;
import androidx.appcompat.content.res.AppCompatResources;
+import androidx.test.filters.SmallTest;
+import org.hamcrest.Matchers;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -33,7 +34,6 @@ import org.chromium.ui.modelutil.PropertyModel;
import org.chromium.ui.test.util.DummyUiActivityTestCase;
import org.chromium.ui.test.util.NightModeTestUtils;
import org.chromium.ui.test.util.RenderTestRule;
-import org.chromium.ui.widget.ButtonCompat;
import java.util.List;
@@ -48,8 +48,7 @@ public class PromoCardViewRenderTest extends DummyUiActivityTestCase {
new NightModeTestUtils.NightModeParams().getParameters();
@Rule
- public RenderTestRule mRenderTestRule =
- new RenderTestRule("chrome/test/data/android/render_tests");
+ public RenderTestRule mRenderTestRule = new RenderTestRule();
public PromoCardViewRenderTest(boolean nightModeEnabled) {
NightModeTestUtils.setUpNightModeForDummyUiActivity(nightModeEnabled);
@@ -110,11 +109,12 @@ public class PromoCardViewRenderTest extends DummyUiActivityTestCase {
mModel.set(PromoCardProperties.HAS_SECONDARY_BUTTON, false);
setPromoCard(LayoutStyle.LARGE);
- CriteriaHelper.pollUiThread(Criteria.equals(View.GONE, () -> {
- ButtonCompat secondaryButton =
- mPromoCardCoordinator.getView().findViewById(R.id.promo_secondary_button);
- return secondaryButton.getVisibility();
- }));
+ CriteriaHelper.pollUiThread(() -> {
+ int visibility = mPromoCardCoordinator.getView()
+ .findViewById(R.id.promo_secondary_button)
+ .getVisibility();
+ Criteria.checkThat(visibility, Matchers.is(View.GONE));
+ });
mRenderTestRule.render(mPromoCardCoordinator.getView(), "promo_card_secondary_hidden");
}
diff --git a/chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/scrim/ScrimTest.java b/chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/scrim/ScrimTest.java
index 95dea15976a..6f01c2aa11a 100644
--- a/chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/scrim/ScrimTest.java
+++ b/chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/scrim/ScrimTest.java
@@ -13,13 +13,14 @@ import static org.junit.Assert.assertTrue;
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
-import android.support.test.filters.SmallTest;
import android.view.View;
import android.view.ViewGroup;
import android.widget.FrameLayout;
import androidx.annotation.ColorInt;
+import androidx.test.filters.SmallTest;
+import org.hamcrest.Matchers;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -30,6 +31,7 @@ import org.chromium.base.ThreadUtils;
import org.chromium.base.test.BaseJUnit4ClassRunner;
import org.chromium.base.test.util.CallbackHelper;
import org.chromium.base.test.util.Feature;
+import org.chromium.content_public.browser.test.util.Criteria;
import org.chromium.content_public.browser.test.util.CriteriaHelper;
import org.chromium.ui.modelutil.PropertyModel;
import org.chromium.ui.test.util.DummyUiActivityTestCase;
@@ -103,10 +105,10 @@ public class ScrimTest extends DummyUiActivityTestCase {
ThreadUtils.runOnUiThreadBlocking(() -> mScrimCoordinator.hideScrim(false));
- CriteriaHelper.pollUiThread(()
- -> mScrimCoordinator.getViewForTesting() == null,
- "Scrim should be null after being hidden.", CriteriaHelper.DEFAULT_MAX_TIME_TO_POLL,
- CriteriaHelper.DEFAULT_POLLING_INTERVAL);
+ CriteriaHelper.pollUiThread(() -> {
+ Criteria.checkThat("Scrim should be null after being hidden.",
+ mScrimCoordinator.getViewForTesting(), Matchers.nullValue());
+ });
}
@Test
@@ -215,10 +217,10 @@ public class ScrimTest extends DummyUiActivityTestCase {
ThreadUtils.runOnUiThreadBlocking(() -> mScrimCoordinator.hideScrim(false));
- CriteriaHelper.pollUiThread(()
- -> mScrimCoordinator.getViewForTesting() == null,
- "Scrim should be null after being hidden.", CriteriaHelper.DEFAULT_MAX_TIME_TO_POLL,
- CriteriaHelper.DEFAULT_POLLING_INTERVAL);
+ CriteriaHelper.pollUiThread(() -> {
+ Criteria.checkThat("Scrim should be null after being hidden.",
+ mScrimCoordinator.getViewForTesting(), Matchers.nullValue());
+ });
}
@Test
diff --git a/chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/text/AlertDialogEditText.java b/chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/text/AlertDialogEditText.java
index 9cffe2c5911..9620c8fad8b 100644
--- a/chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/text/AlertDialogEditText.java
+++ b/chromium/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/text/AlertDialogEditText.java
@@ -4,70 +4,50 @@
package org.chromium.components.browser_ui.widget.text;
+import android.annotation.SuppressLint;
import android.content.Context;
-import android.graphics.PorterDuff;
-import android.graphics.drawable.Drawable;
-import android.os.Build;
+import android.text.TextUtils;
import android.util.AttributeSet;
-import android.view.ActionMode;
-import android.view.Menu;
-import android.view.MenuItem;
+import android.view.ViewStructure;
import android.widget.EditText;
import androidx.appcompat.widget.AppCompatEditText;
import org.chromium.base.ApiCompatibilityUtils;
-import org.chromium.components.browser_ui.widget.R;
+import org.chromium.base.annotations.VerifiesOnO;
/**
- * EditText to use in AlertDialog needed due to b/20882793 and b/122113958. This class should be
- * removed when we roll to AppCompat with a fix for both issues.
+ * Wrapper class needed due to b/122113958.
*
* Note that for password fields the hint text is expected to be set in XML so that it is available
- * during inflation. If the hint text or content description is changed programatically, consider
+ * during inflation. If the hint text or content description is changed programmatically, consider
* calling {@link ApiCompatibilityUtils#setPasswordEditTextContentDescription(EditText)} after
* the change.
*/
+@VerifiesOnO
public class AlertDialogEditText extends AppCompatEditText {
+ private String mUrl;
+
public AlertDialogEditText(Context context, AttributeSet attrs) {
super(context, attrs);
}
+ public void setUrl(String url) {
+ mUrl = url;
+ }
+
@Override
protected void onFinishInflate() {
super.onFinishInflate();
-
ApiCompatibilityUtils.setPasswordEditTextContentDescription(this);
+ }
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) return;
-
- setCustomSelectionActionModeCallback(new ActionMode.Callback() {
- @Override
- public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
- return true;
- }
-
- @Override
- public void onDestroyActionMode(ActionMode mode) {}
-
- @Override
- public boolean onCreateActionMode(ActionMode mode, Menu menu) {
- for (int i = 0; i < menu.size(); i++) {
- MenuItem item = menu.getItem(i);
- Drawable icon = item.getIcon();
- if (icon == null) break;
- icon.setColorFilter(ApiCompatibilityUtils.getColor(
- getResources(), R.color.default_icon_color),
- PorterDuff.Mode.SRC_IN);
- item.setIcon(icon);
- }
- return true;
- }
-
- @Override
- public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
- return false;
- }
- });
+ @Override
+ @SuppressLint("NewApi")
+ public void onProvideAutofillStructure(ViewStructure structure, int flags) {
+ if (!TextUtils.isEmpty(mUrl)) {
+ structure.setWebDomain(mUrl);
+ }
+ super.onProvideAutofillStructure(structure, flags);
}
}