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;
import android.support.v4.content.ContextCompat;
import android.support.v4.graphics.drawable.DrawableCompat;
import android.support.v4.widget.ImageViewCompat;
import android.util.DisplayMetrics;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.WindowManager;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.PopupWindow;
......@@ -41,6 +39,7 @@ import org.chromium.base.ContextUtils;
import org.chromium.chrome.browser.widget.ScrimView;
import org.chromium.chrome.tab_ui.R;
import org.chromium.components.browser_ui.widget.animation.Interpolators;
import org.chromium.ui.display.DisplayAndroid;
import org.chromium.ui.interpolators.BakedBezierInterpolator;
import java.lang.annotation.Retention;
......@@ -140,13 +139,10 @@ public class TabGridDialogParent
(int) context.getResources().getDimension(R.dimen.bottom_sheet_peek_height);
mContainerParams = new FrameLayout.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
DisplayMetrics displayMetrics = new DisplayMetrics();
((WindowManager) context.getSystemService(Context.WINDOW_SERVICE))
.getDefaultDisplay()
.getMetrics(displayMetrics);
DisplayAndroid display = DisplayAndroid.getNonMultiDisplay(context);
// Screen height and width when in portrait mode.
mScreenHeight = Math.max(displayMetrics.heightPixels, displayMetrics.widthPixels);
mScreenWidth = Math.min(displayMetrics.heightPixels, displayMetrics.widthPixels);
mScreenHeight = Math.max(display.getDisplayHeight(), display.getDisplayWidth());
mScreenWidth = Math.min(display.getDisplayHeight(), display.getDisplayWidth());
mComponentCallbacks = new ComponentCallbacks() {
@Override
......@@ -837,4 +833,4 @@ public class TabGridDialogParent
static void setSourceRectCallbackForTesting(Callback<RectF> callback) {
sSourceRectCallbackForTesting = callback;
}
}
\ No newline at end of file
}
......@@ -4,7 +4,6 @@
package org.chromium.chrome.browser.tasks.tab_management;
import android.app.Activity;
import android.content.ComponentCallbacks;
import android.content.Context;
import android.content.res.Configuration;
......@@ -19,7 +18,6 @@ import android.support.graphics.drawable.AnimatedVectorDrawableCompat;
import android.support.v4.view.ViewCompat;
import android.support.v7.content.res.AppCompatResources;
import android.util.AttributeSet;
import android.util.DisplayMetrics;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
......@@ -34,6 +32,7 @@ import androidx.annotation.VisibleForTesting;
import org.chromium.base.ApiCompatibilityUtils;
import org.chromium.chrome.browser.widget.ScrimView;
import org.chromium.chrome.tab_ui.R;
import org.chromium.ui.display.DisplayAndroid;
import org.chromium.ui.widget.ChromeImageView;
/**
......@@ -193,9 +192,7 @@ public class TabGridIphItemView extends FrameLayout {
}
private void updateMargins(int orientation) {
DisplayMetrics displayMetrics = new DisplayMetrics();
((Activity) getContext()).getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
int screenHeight = displayMetrics.heightPixels;
int screenHeight = DisplayAndroid.getNonMultiDisplay(getContext()).getDisplayHeight();
int dialogHeight =
(int) mContext.getResources().getDimension(R.dimen.tab_grid_iph_dialog_height);
......
......@@ -53,25 +53,28 @@ public class TabGridDialogParentTest extends DummyUiActivityTestCase {
super.setUpTest();
TabFeatureUtilities.setIsTabToGtsAnimationEnabledForTesting(true);
mDummyParent = new FrameLayout(getActivity());
mTabGridDialogParent = new TabGridDialogParent(getActivity(), mDummyParent);
mPopoupWindow = mTabGridDialogParent.getPopupWindowForTesting();
FrameLayout tabGridDialogParentView =
mTabGridDialogParent.getTabGridDialogParentViewForTesting();
mTabGridDialogContainer = tabGridDialogParentView.findViewById(R.id.dialog_container_view);
mUngroupBar = mTabGridDialogContainer.findViewById(R.id.dialog_ungroup_bar);
mUngroupBarTextView = mUngroupBar.findViewById(R.id.dialog_ungroup_bar_text);
mContainerParams = (FrameLayout.LayoutParams) mTabGridDialogContainer.getLayoutParams();
mAnimationCardView = mTabGridDialogParent.getAnimationCardViewForTesting();
mBackgroundFrameView = tabGridDialogParentView.findViewById(R.id.dialog_frame);
mToolbarHeight =
(int) getActivity().getResources().getDimension(R.dimen.tab_group_toolbar_height);
mTopMargin =
(int) getActivity().getResources().getDimension(R.dimen.tab_grid_dialog_top_margin);
mSideMargin = (int) getActivity().getResources().getDimension(
R.dimen.tab_grid_dialog_side_margin);
TestThreadUtils.runOnUiThreadBlocking(() -> {
mDummyParent = new FrameLayout(getActivity());
mTabGridDialogParent = new TabGridDialogParent(getActivity(), mDummyParent);
mPopoupWindow = mTabGridDialogParent.getPopupWindowForTesting();
FrameLayout tabGridDialogParentView =
mTabGridDialogParent.getTabGridDialogParentViewForTesting();
mTabGridDialogContainer =
tabGridDialogParentView.findViewById(R.id.dialog_container_view);
mUngroupBar = mTabGridDialogContainer.findViewById(R.id.dialog_ungroup_bar);
mUngroupBarTextView = mUngroupBar.findViewById(R.id.dialog_ungroup_bar_text);
mContainerParams = (FrameLayout.LayoutParams) mTabGridDialogContainer.getLayoutParams();
mAnimationCardView = mTabGridDialogParent.getAnimationCardViewForTesting();
mBackgroundFrameView = tabGridDialogParentView.findViewById(R.id.dialog_frame);
mToolbarHeight = (int) getActivity().getResources().getDimension(
R.dimen.tab_group_toolbar_height);
mTopMargin = (int) getActivity().getResources().getDimension(
R.dimen.tab_grid_dialog_top_margin);
mSideMargin = (int) getActivity().getResources().getDimension(
R.dimen.tab_grid_dialog_side_margin);
});
}
@Test
......
......@@ -24,7 +24,6 @@ import android.content.res.Configuration;
import android.os.Build;
import android.support.test.espresso.NoMatchingRootException;
import android.support.test.filters.MediumTest;
import android.util.DisplayMetrics;
import android.view.ViewGroup;
import android.widget.TextView;
......@@ -50,6 +49,8 @@ import org.chromium.chrome.test.ChromeJUnit4ClassRunner;
import org.chromium.chrome.test.ChromeTabbedActivityTestRule;
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.TestThreadUtils;
import org.chromium.ui.display.DisplayAndroid;
import org.chromium.ui.test.util.UiRestriction;
/** End-to-end tests for TabGridIphItem component. */
......@@ -210,9 +211,8 @@ public class TabGridIphItemTest {
private void verifyDialogMargins(ChromeTabbedActivity cta, int orientation) {
verifyIphDialogShowing(cta);
DisplayMetrics displayMetrics = new DisplayMetrics();
cta.getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
int screenHeight = displayMetrics.heightPixels;
int screenHeight = TestThreadUtils.runOnUiThreadBlockingNoException(
() -> DisplayAndroid.getNonMultiDisplay(cta).getDisplayHeight());
int dialogHeight =
(int) cta.getResources().getDimension(R.dimen.tab_grid_iph_dialog_height);
......@@ -285,4 +285,4 @@ public class TabGridIphItemTest {
assertEquals(textSideMargin, realMargins.leftMargin);
});
}
}
\ No newline at end of file
}
......@@ -62,26 +62,29 @@ public class TabGridPanelViewBinderTest extends DummyUiActivityTestCase {
@Override
public void setUpTest() throws Exception {
super.setUpTest();
FrameLayout parentView = new FrameLayout(getActivity());
mContentView = (TabListRecyclerView) LayoutInflater.from(getActivity())
.inflate(R.layout.tab_list_recycler_view_layout, parentView, false);
mContentView.setLayoutManager(new GridLayoutManager(getActivity(), 2));
mToolbarView = (TabGroupUiToolbarView) LayoutInflater.from(getActivity())
.inflate(R.layout.bottom_tab_grid_toolbar, mContentView, false);
mTabGridDialogParent =
new TabGridDialogParent(getActivity(), new FrameLayout(getActivity()));
mTabGridDialogParentView = mTabGridDialogParent.getTabGridDialogParentViewForTesting();
mLeftButton = mToolbarView.findViewById(R.id.toolbar_left_button);
mRightButton = mToolbarView.findViewById(R.id.toolbar_right_button);
mTitleTextView = mToolbarView.findViewById(R.id.title);
mMainContent = mToolbarView.findViewById(R.id.main_content);
mModel = new PropertyModel(TabGridPanelProperties.ALL_KEYS);
mMCP = PropertyModelChangeProcessor.create(mModel,
new TabGridPanelViewBinder.ViewHolder(
mToolbarView, mContentView, mTabGridDialogParent),
TabGridPanelViewBinder::bind);
TestThreadUtils.runOnUiThreadBlocking(() -> {
FrameLayout parentView = new FrameLayout(getActivity());
mContentView =
(TabListRecyclerView) LayoutInflater.from(getActivity())
.inflate(R.layout.tab_list_recycler_view_layout, parentView, false);
mContentView.setLayoutManager(new GridLayoutManager(getActivity(), 2));
mToolbarView = (TabGroupUiToolbarView) LayoutInflater.from(getActivity())
.inflate(R.layout.bottom_tab_grid_toolbar, mContentView, false);
mTabGridDialogParent =
new TabGridDialogParent(getActivity(), new FrameLayout(getActivity()));
mTabGridDialogParentView = mTabGridDialogParent.getTabGridDialogParentViewForTesting();
mLeftButton = mToolbarView.findViewById(R.id.toolbar_left_button);
mRightButton = mToolbarView.findViewById(R.id.toolbar_right_button);
mTitleTextView = mToolbarView.findViewById(R.id.title);
mMainContent = mToolbarView.findViewById(R.id.main_content);
mModel = new PropertyModel(TabGridPanelProperties.ALL_KEYS);
mMCP = PropertyModelChangeProcessor.create(mModel,
new TabGridPanelViewBinder.ViewHolder(
mToolbarView, mContentView, mTabGridDialogParent),
TabGridPanelViewBinder::bind);
});
}
@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