Merge "[Bouncer] Add min margin bottom for window inset." into tm-dev
This commit is contained in:
@@ -38,6 +38,9 @@
|
|||||||
<!-- Margin around the various security views -->
|
<!-- Margin around the various security views -->
|
||||||
<dimen name="keyguard_security_view_top_margin">8dp</dimen>
|
<dimen name="keyguard_security_view_top_margin">8dp</dimen>
|
||||||
|
|
||||||
|
<!-- Minimum bottom margin under the security view -->
|
||||||
|
<dimen name="keyguard_security_view_bottom_margin">60dp</dimen>
|
||||||
|
|
||||||
<dimen name="keyguard_eca_top_margin">18dp</dimen>
|
<dimen name="keyguard_eca_top_margin">18dp</dimen>
|
||||||
<dimen name="keyguard_eca_bottom_margin">12dp</dimen>
|
<dimen name="keyguard_eca_bottom_margin">12dp</dimen>
|
||||||
|
|
||||||
|
|||||||
@@ -555,7 +555,9 @@ public class KeyguardSecurityContainer extends FrameLayout {
|
|||||||
int bottomInset = insets.getInsetsIgnoringVisibility(systemBars()).bottom;
|
int bottomInset = insets.getInsetsIgnoringVisibility(systemBars()).bottom;
|
||||||
int imeInset = insets.getInsets(ime()).bottom;
|
int imeInset = insets.getInsets(ime()).bottom;
|
||||||
int inset = max(bottomInset, imeInset);
|
int inset = max(bottomInset, imeInset);
|
||||||
setPadding(getPaddingLeft(), getPaddingTop(), getPaddingRight(), inset);
|
int paddingBottom = max(inset, getContext().getResources()
|
||||||
|
.getDimensionPixelSize(R.dimen.keyguard_security_view_bottom_margin));
|
||||||
|
setPadding(getPaddingLeft(), getPaddingTop(), getPaddingRight(), paddingBottom);
|
||||||
return insets.inset(0, 0, 0, inset);
|
return insets.inset(0, 0, 0, inset);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -70,9 +70,8 @@ import java.util.ArrayList;
|
|||||||
@RunWith(AndroidTestingRunner.class)
|
@RunWith(AndroidTestingRunner.class)
|
||||||
@TestableLooper.RunWithLooper()
|
@TestableLooper.RunWithLooper()
|
||||||
public class KeyguardSecurityContainerTest extends SysuiTestCase {
|
public class KeyguardSecurityContainerTest extends SysuiTestCase {
|
||||||
private static final int SCREEN_WIDTH = 1600;
|
private int mScreenWidth;
|
||||||
private static final int FAKE_MEASURE_SPEC =
|
private int mFakeMeasureSpec;
|
||||||
View.MeasureSpec.makeMeasureSpec(SCREEN_WIDTH, View.MeasureSpec.EXACTLY);
|
|
||||||
|
|
||||||
@Rule
|
@Rule
|
||||||
public MockitoRule mRule = MockitoJUnit.rule();
|
public MockitoRule mRule = MockitoJUnit.rule();
|
||||||
@@ -114,6 +113,10 @@ public class KeyguardSecurityContainerTest extends SysuiTestCase {
|
|||||||
when(mUserSwitcherController.getKeyguardStateController())
|
when(mUserSwitcherController.getKeyguardStateController())
|
||||||
.thenReturn(mKeyguardStateController);
|
.thenReturn(mKeyguardStateController);
|
||||||
when(mKeyguardStateController.isShowing()).thenReturn(true);
|
when(mKeyguardStateController.isShowing()).thenReturn(true);
|
||||||
|
|
||||||
|
mScreenWidth = getUiDevice().getDisplayWidth();
|
||||||
|
mFakeMeasureSpec = View
|
||||||
|
.MeasureSpec.makeMeasureSpec(mScreenWidth, View.MeasureSpec.EXACTLY);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -122,10 +125,10 @@ public class KeyguardSecurityContainerTest extends SysuiTestCase {
|
|||||||
mUserSwitcherController);
|
mUserSwitcherController);
|
||||||
|
|
||||||
int halfWidthMeasureSpec =
|
int halfWidthMeasureSpec =
|
||||||
View.MeasureSpec.makeMeasureSpec(SCREEN_WIDTH / 2, View.MeasureSpec.EXACTLY);
|
View.MeasureSpec.makeMeasureSpec(mScreenWidth / 2, View.MeasureSpec.EXACTLY);
|
||||||
mKeyguardSecurityContainer.onMeasure(FAKE_MEASURE_SPEC, FAKE_MEASURE_SPEC);
|
mKeyguardSecurityContainer.onMeasure(mFakeMeasureSpec, mFakeMeasureSpec);
|
||||||
|
|
||||||
verify(mSecurityViewFlipper).measure(halfWidthMeasureSpec, FAKE_MEASURE_SPEC);
|
verify(mSecurityViewFlipper).measure(halfWidthMeasureSpec, mFakeMeasureSpec);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -133,14 +136,16 @@ public class KeyguardSecurityContainerTest extends SysuiTestCase {
|
|||||||
mKeyguardSecurityContainer.initMode(MODE_DEFAULT, mGlobalSettings, mFalsingManager,
|
mKeyguardSecurityContainer.initMode(MODE_DEFAULT, mGlobalSettings, mFalsingManager,
|
||||||
mUserSwitcherController);
|
mUserSwitcherController);
|
||||||
|
|
||||||
mKeyguardSecurityContainer.measure(FAKE_MEASURE_SPEC, FAKE_MEASURE_SPEC);
|
mKeyguardSecurityContainer.measure(mFakeMeasureSpec, mFakeMeasureSpec);
|
||||||
verify(mSecurityViewFlipper).measure(FAKE_MEASURE_SPEC, FAKE_MEASURE_SPEC);
|
verify(mSecurityViewFlipper).measure(mFakeMeasureSpec, mFakeMeasureSpec);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void onMeasure_respectsViewInsets() {
|
public void onMeasure_respectsViewInsets() {
|
||||||
int imeInsetAmount = 100;
|
int paddingBottom = getContext().getResources()
|
||||||
int systemBarInsetAmount = 10;
|
.getDimensionPixelSize(R.dimen.keyguard_security_view_bottom_margin);
|
||||||
|
int imeInsetAmount = paddingBottom + 1;
|
||||||
|
int systemBarInsetAmount = 0;
|
||||||
|
|
||||||
mKeyguardSecurityContainer.initMode(MODE_DEFAULT, mGlobalSettings, mFalsingManager,
|
mKeyguardSecurityContainer.initMode(MODE_DEFAULT, mGlobalSettings, mFalsingManager,
|
||||||
mUserSwitcherController);
|
mUserSwitcherController);
|
||||||
@@ -155,17 +160,19 @@ public class KeyguardSecurityContainerTest extends SysuiTestCase {
|
|||||||
|
|
||||||
// It's reduced by the max of the systembar and IME, so just subtract IME inset.
|
// It's reduced by the max of the systembar and IME, so just subtract IME inset.
|
||||||
int expectedHeightMeasureSpec = View.MeasureSpec.makeMeasureSpec(
|
int expectedHeightMeasureSpec = View.MeasureSpec.makeMeasureSpec(
|
||||||
SCREEN_WIDTH - imeInsetAmount, View.MeasureSpec.EXACTLY);
|
mScreenWidth - imeInsetAmount, View.MeasureSpec.EXACTLY);
|
||||||
|
|
||||||
mKeyguardSecurityContainer.onApplyWindowInsets(insets);
|
mKeyguardSecurityContainer.onApplyWindowInsets(insets);
|
||||||
mKeyguardSecurityContainer.measure(FAKE_MEASURE_SPEC, FAKE_MEASURE_SPEC);
|
mKeyguardSecurityContainer.measure(mFakeMeasureSpec, mFakeMeasureSpec);
|
||||||
verify(mSecurityViewFlipper).measure(FAKE_MEASURE_SPEC, expectedHeightMeasureSpec);
|
verify(mSecurityViewFlipper).measure(mFakeMeasureSpec, expectedHeightMeasureSpec);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void onMeasure_respectsViewInsets_largerSystembar() {
|
public void onMeasure_respectsViewInsets_largerSystembar() {
|
||||||
int imeInsetAmount = 0;
|
int imeInsetAmount = 0;
|
||||||
int systemBarInsetAmount = 10;
|
int paddingBottom = getContext().getResources()
|
||||||
|
.getDimensionPixelSize(R.dimen.keyguard_security_view_bottom_margin);
|
||||||
|
int systemBarInsetAmount = paddingBottom + 1;
|
||||||
|
|
||||||
mKeyguardSecurityContainer.initMode(MODE_DEFAULT, mGlobalSettings, mFalsingManager,
|
mKeyguardSecurityContainer.initMode(MODE_DEFAULT, mGlobalSettings, mFalsingManager,
|
||||||
mUserSwitcherController);
|
mUserSwitcherController);
|
||||||
@@ -179,11 +186,11 @@ public class KeyguardSecurityContainerTest extends SysuiTestCase {
|
|||||||
.build();
|
.build();
|
||||||
|
|
||||||
int expectedHeightMeasureSpec = View.MeasureSpec.makeMeasureSpec(
|
int expectedHeightMeasureSpec = View.MeasureSpec.makeMeasureSpec(
|
||||||
SCREEN_WIDTH - systemBarInsetAmount, View.MeasureSpec.EXACTLY);
|
mScreenWidth - systemBarInsetAmount, View.MeasureSpec.EXACTLY);
|
||||||
|
|
||||||
mKeyguardSecurityContainer.onApplyWindowInsets(insets);
|
mKeyguardSecurityContainer.onApplyWindowInsets(insets);
|
||||||
mKeyguardSecurityContainer.measure(FAKE_MEASURE_SPEC, FAKE_MEASURE_SPEC);
|
mKeyguardSecurityContainer.measure(mFakeMeasureSpec, mFakeMeasureSpec);
|
||||||
verify(mSecurityViewFlipper).measure(FAKE_MEASURE_SPEC, expectedHeightMeasureSpec);
|
verify(mSecurityViewFlipper).measure(mFakeMeasureSpec, expectedHeightMeasureSpec);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void setupForUpdateKeyguardPosition(boolean oneHandedMode) {
|
private void setupForUpdateKeyguardPosition(boolean oneHandedMode) {
|
||||||
@@ -191,8 +198,8 @@ public class KeyguardSecurityContainerTest extends SysuiTestCase {
|
|||||||
mKeyguardSecurityContainer.initMode(mode, mGlobalSettings, mFalsingManager,
|
mKeyguardSecurityContainer.initMode(mode, mGlobalSettings, mFalsingManager,
|
||||||
mUserSwitcherController);
|
mUserSwitcherController);
|
||||||
|
|
||||||
mKeyguardSecurityContainer.measure(FAKE_MEASURE_SPEC, FAKE_MEASURE_SPEC);
|
mKeyguardSecurityContainer.measure(mFakeMeasureSpec, mFakeMeasureSpec);
|
||||||
mKeyguardSecurityContainer.layout(0, 0, SCREEN_WIDTH, SCREEN_WIDTH);
|
mKeyguardSecurityContainer.layout(0, 0, mScreenWidth, mScreenWidth);
|
||||||
|
|
||||||
// Clear any interactions with the mock so we know the interactions definitely come from the
|
// Clear any interactions with the mock so we know the interactions definitely come from the
|
||||||
// below testing.
|
// below testing.
|
||||||
|
|||||||
Reference in New Issue
Block a user