Commit 1dfdd711 authored by Bo Liu's avatar Bo Liu Committed by Commit Bot

android: Use DisplayAndroid in tab_management

Bug: 1042063
Change-Id: Ib2c17548d8df20d8061d448b788a193199129faa
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2012901Reviewed-by: default avatarWei-Yin Chen (陳威尹) <wychen@chromium.org>
Commit-Queue: Wei-Yin Chen (陳威尹) <wychen@chromium.org>
Auto-Submit: Bo <boliu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#733813}
parent 63c8b918
...@@ -19,12 +19,10 @@ import android.graphics.drawable.GradientDrawable; ...@@ -19,12 +19,10 @@ import android.graphics.drawable.GradientDrawable;
import android.support.v4.content.ContextCompat; import android.support.v4.content.ContextCompat;
import android.support.v4.graphics.drawable.DrawableCompat; import android.support.v4.graphics.drawable.DrawableCompat;
import android.support.v4.widget.ImageViewCompat; import android.support.v4.widget.ImageViewCompat;
import android.util.DisplayMetrics;
import android.view.Gravity; import android.view.Gravity;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.view.WindowManager;
import android.widget.FrameLayout; import android.widget.FrameLayout;
import android.widget.ImageView; import android.widget.ImageView;
import android.widget.PopupWindow; import android.widget.PopupWindow;
...@@ -41,6 +39,7 @@ import org.chromium.base.ContextUtils; ...@@ -41,6 +39,7 @@ import org.chromium.base.ContextUtils;
import org.chromium.chrome.browser.widget.ScrimView; import org.chromium.chrome.browser.widget.ScrimView;
import org.chromium.chrome.tab_ui.R; import org.chromium.chrome.tab_ui.R;
import org.chromium.components.browser_ui.widget.animation.Interpolators; import org.chromium.components.browser_ui.widget.animation.Interpolators;
import org.chromium.ui.display.DisplayAndroid;
import org.chromium.ui.interpolators.BakedBezierInterpolator; import org.chromium.ui.interpolators.BakedBezierInterpolator;
import java.lang.annotation.Retention; import java.lang.annotation.Retention;
...@@ -140,13 +139,10 @@ public class TabGridDialogParent ...@@ -140,13 +139,10 @@ public class TabGridDialogParent
(int) context.getResources().getDimension(R.dimen.bottom_sheet_peek_height); (int) context.getResources().getDimension(R.dimen.bottom_sheet_peek_height);
mContainerParams = new FrameLayout.LayoutParams( mContainerParams = new FrameLayout.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT); ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
DisplayMetrics displayMetrics = new DisplayMetrics(); DisplayAndroid display = DisplayAndroid.getNonMultiDisplay(context);
((WindowManager) context.getSystemService(Context.WINDOW_SERVICE))
.getDefaultDisplay()
.getMetrics(displayMetrics);
// Screen height and width when in portrait mode. // Screen height and width when in portrait mode.
mScreenHeight = Math.max(displayMetrics.heightPixels, displayMetrics.widthPixels); mScreenHeight = Math.max(display.getDisplayHeight(), display.getDisplayWidth());
mScreenWidth = Math.min(displayMetrics.heightPixels, displayMetrics.widthPixels); mScreenWidth = Math.min(display.getDisplayHeight(), display.getDisplayWidth());
mComponentCallbacks = new ComponentCallbacks() { mComponentCallbacks = new ComponentCallbacks() {
@Override @Override
......
...@@ -4,7 +4,6 @@ ...@@ -4,7 +4,6 @@
package org.chromium.chrome.browser.tasks.tab_management; package org.chromium.chrome.browser.tasks.tab_management;
import android.app.Activity;
import android.content.ComponentCallbacks; import android.content.ComponentCallbacks;
import android.content.Context; import android.content.Context;
import android.content.res.Configuration; import android.content.res.Configuration;
...@@ -19,7 +18,6 @@ import android.support.graphics.drawable.AnimatedVectorDrawableCompat; ...@@ -19,7 +18,6 @@ import android.support.graphics.drawable.AnimatedVectorDrawableCompat;
import android.support.v4.view.ViewCompat; import android.support.v4.view.ViewCompat;
import android.support.v7.content.res.AppCompatResources; import android.support.v7.content.res.AppCompatResources;
import android.util.AttributeSet; import android.util.AttributeSet;
import android.util.DisplayMetrics;
import android.view.Gravity; import android.view.Gravity;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.View; import android.view.View;
...@@ -34,6 +32,7 @@ import androidx.annotation.VisibleForTesting; ...@@ -34,6 +32,7 @@ import androidx.annotation.VisibleForTesting;
import org.chromium.base.ApiCompatibilityUtils; import org.chromium.base.ApiCompatibilityUtils;
import org.chromium.chrome.browser.widget.ScrimView; import org.chromium.chrome.browser.widget.ScrimView;
import org.chromium.chrome.tab_ui.R; import org.chromium.chrome.tab_ui.R;
import org.chromium.ui.display.DisplayAndroid;
import org.chromium.ui.widget.ChromeImageView; import org.chromium.ui.widget.ChromeImageView;
/** /**
...@@ -193,9 +192,7 @@ public class TabGridIphItemView extends FrameLayout { ...@@ -193,9 +192,7 @@ public class TabGridIphItemView extends FrameLayout {
} }
private void updateMargins(int orientation) { private void updateMargins(int orientation) {
DisplayMetrics displayMetrics = new DisplayMetrics(); int screenHeight = DisplayAndroid.getNonMultiDisplay(getContext()).getDisplayHeight();
((Activity) getContext()).getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
int screenHeight = displayMetrics.heightPixels;
int dialogHeight = int dialogHeight =
(int) mContext.getResources().getDimension(R.dimen.tab_grid_iph_dialog_height); (int) mContext.getResources().getDimension(R.dimen.tab_grid_iph_dialog_height);
......
...@@ -53,25 +53,28 @@ public class TabGridDialogParentTest extends DummyUiActivityTestCase { ...@@ -53,25 +53,28 @@ public class TabGridDialogParentTest extends DummyUiActivityTestCase {
super.setUpTest(); super.setUpTest();
TabFeatureUtilities.setIsTabToGtsAnimationEnabledForTesting(true); TabFeatureUtilities.setIsTabToGtsAnimationEnabledForTesting(true);
TestThreadUtils.runOnUiThreadBlocking(() -> {
mDummyParent = new FrameLayout(getActivity()); mDummyParent = new FrameLayout(getActivity());
mTabGridDialogParent = new TabGridDialogParent(getActivity(), mDummyParent); mTabGridDialogParent = new TabGridDialogParent(getActivity(), mDummyParent);
mPopoupWindow = mTabGridDialogParent.getPopupWindowForTesting(); mPopoupWindow = mTabGridDialogParent.getPopupWindowForTesting();
FrameLayout tabGridDialogParentView = FrameLayout tabGridDialogParentView =
mTabGridDialogParent.getTabGridDialogParentViewForTesting(); mTabGridDialogParent.getTabGridDialogParentViewForTesting();
mTabGridDialogContainer = tabGridDialogParentView.findViewById(R.id.dialog_container_view); mTabGridDialogContainer =
tabGridDialogParentView.findViewById(R.id.dialog_container_view);
mUngroupBar = mTabGridDialogContainer.findViewById(R.id.dialog_ungroup_bar); mUngroupBar = mTabGridDialogContainer.findViewById(R.id.dialog_ungroup_bar);
mUngroupBarTextView = mUngroupBar.findViewById(R.id.dialog_ungroup_bar_text); mUngroupBarTextView = mUngroupBar.findViewById(R.id.dialog_ungroup_bar_text);
mContainerParams = (FrameLayout.LayoutParams) mTabGridDialogContainer.getLayoutParams(); mContainerParams = (FrameLayout.LayoutParams) mTabGridDialogContainer.getLayoutParams();
mAnimationCardView = mTabGridDialogParent.getAnimationCardViewForTesting(); mAnimationCardView = mTabGridDialogParent.getAnimationCardViewForTesting();
mBackgroundFrameView = tabGridDialogParentView.findViewById(R.id.dialog_frame); mBackgroundFrameView = tabGridDialogParentView.findViewById(R.id.dialog_frame);
mToolbarHeight = mToolbarHeight = (int) getActivity().getResources().getDimension(
(int) getActivity().getResources().getDimension(R.dimen.tab_group_toolbar_height); R.dimen.tab_group_toolbar_height);
mTopMargin = mTopMargin = (int) getActivity().getResources().getDimension(
(int) getActivity().getResources().getDimension(R.dimen.tab_grid_dialog_top_margin); R.dimen.tab_grid_dialog_top_margin);
mSideMargin = (int) getActivity().getResources().getDimension( mSideMargin = (int) getActivity().getResources().getDimension(
R.dimen.tab_grid_dialog_side_margin); R.dimen.tab_grid_dialog_side_margin);
});
} }
@Test @Test
......
...@@ -24,7 +24,6 @@ import android.content.res.Configuration; ...@@ -24,7 +24,6 @@ import android.content.res.Configuration;
import android.os.Build; import android.os.Build;
import android.support.test.espresso.NoMatchingRootException; import android.support.test.espresso.NoMatchingRootException;
import android.support.test.filters.MediumTest; import android.support.test.filters.MediumTest;
import android.util.DisplayMetrics;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.widget.TextView; import android.widget.TextView;
...@@ -50,6 +49,8 @@ import org.chromium.chrome.test.ChromeJUnit4ClassRunner; ...@@ -50,6 +49,8 @@ import org.chromium.chrome.test.ChromeJUnit4ClassRunner;
import org.chromium.chrome.test.ChromeTabbedActivityTestRule; import org.chromium.chrome.test.ChromeTabbedActivityTestRule;
import org.chromium.chrome.test.util.browser.Features; import org.chromium.chrome.test.util.browser.Features;
import org.chromium.content_public.browser.test.util.CriteriaHelper; import org.chromium.content_public.browser.test.util.CriteriaHelper;
import org.chromium.content_public.browser.test.util.TestThreadUtils;
import org.chromium.ui.display.DisplayAndroid;
import org.chromium.ui.test.util.UiRestriction; import org.chromium.ui.test.util.UiRestriction;
/** End-to-end tests for TabGridIphItem component. */ /** End-to-end tests for TabGridIphItem component. */
...@@ -210,9 +211,8 @@ public class TabGridIphItemTest { ...@@ -210,9 +211,8 @@ public class TabGridIphItemTest {
private void verifyDialogMargins(ChromeTabbedActivity cta, int orientation) { private void verifyDialogMargins(ChromeTabbedActivity cta, int orientation) {
verifyIphDialogShowing(cta); verifyIphDialogShowing(cta);
DisplayMetrics displayMetrics = new DisplayMetrics(); int screenHeight = TestThreadUtils.runOnUiThreadBlockingNoException(
cta.getWindowManager().getDefaultDisplay().getMetrics(displayMetrics); () -> DisplayAndroid.getNonMultiDisplay(cta).getDisplayHeight());
int screenHeight = displayMetrics.heightPixels;
int dialogHeight = int dialogHeight =
(int) cta.getResources().getDimension(R.dimen.tab_grid_iph_dialog_height); (int) cta.getResources().getDimension(R.dimen.tab_grid_iph_dialog_height);
......
...@@ -62,8 +62,10 @@ public class TabGridPanelViewBinderTest extends DummyUiActivityTestCase { ...@@ -62,8 +62,10 @@ public class TabGridPanelViewBinderTest extends DummyUiActivityTestCase {
@Override @Override
public void setUpTest() throws Exception { public void setUpTest() throws Exception {
super.setUpTest(); super.setUpTest();
TestThreadUtils.runOnUiThreadBlocking(() -> {
FrameLayout parentView = new FrameLayout(getActivity()); FrameLayout parentView = new FrameLayout(getActivity());
mContentView = (TabListRecyclerView) LayoutInflater.from(getActivity()) mContentView =
(TabListRecyclerView) LayoutInflater.from(getActivity())
.inflate(R.layout.tab_list_recycler_view_layout, parentView, false); .inflate(R.layout.tab_list_recycler_view_layout, parentView, false);
mContentView.setLayoutManager(new GridLayoutManager(getActivity(), 2)); mContentView.setLayoutManager(new GridLayoutManager(getActivity(), 2));
mToolbarView = (TabGroupUiToolbarView) LayoutInflater.from(getActivity()) mToolbarView = (TabGroupUiToolbarView) LayoutInflater.from(getActivity())
...@@ -82,6 +84,7 @@ public class TabGridPanelViewBinderTest extends DummyUiActivityTestCase { ...@@ -82,6 +84,7 @@ public class TabGridPanelViewBinderTest extends DummyUiActivityTestCase {
new TabGridPanelViewBinder.ViewHolder( new TabGridPanelViewBinder.ViewHolder(
mToolbarView, mContentView, mTabGridDialogParent), mToolbarView, mContentView, mTabGridDialogParent),
TabGridPanelViewBinder::bind); TabGridPanelViewBinder::bind);
});
} }
@Test @Test
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment