Handle overlay edge spacing within individual complications layouts.
This change accounts for spacing from the layout edge in each complication, rather than using the ViewGroup's padding setting. This change resolves clipping during transitions due to an interaction between the ViewGroup padding and alpha/translation animations. This spacing calculated in margin calculation, now spread across each logical complication container. The directional group applies margins between each complication, while the position group applies margins from the layout's edge. Test: atest ComplicationLayoutEngineTest Fixes: 280595239 Change-Id: Ibe4ba52b970337671fec0c0878e2686b5bac8fa2
This commit is contained in:
@@ -25,10 +25,6 @@
|
||||
android:id="@+id/dream_overlay_content"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
android:paddingTop="@dimen/dream_overlay_container_padding_top"
|
||||
android:paddingEnd="@dimen/dream_overlay_container_padding_end"
|
||||
android:paddingBottom="@dimen/dream_overlay_container_padding_bottom"
|
||||
android:paddingStart="@dimen/dream_overlay_container_padding_start"
|
||||
android:clipToPadding="false"
|
||||
android:clipChildren="false"
|
||||
app:layout_constraintTop_toBottomOf="@id/dream_overlay_status_bar"
|
||||
|
||||
@@ -16,9 +16,21 @@
|
||||
|
||||
package com.android.systemui.complication;
|
||||
|
||||
import static com.android.systemui.complication.ComplicationLayoutParams.DIRECTION_DOWN;
|
||||
import static com.android.systemui.complication.ComplicationLayoutParams.DIRECTION_END;
|
||||
import static com.android.systemui.complication.ComplicationLayoutParams.DIRECTION_START;
|
||||
import static com.android.systemui.complication.ComplicationLayoutParams.DIRECTION_UP;
|
||||
import static com.android.systemui.complication.ComplicationLayoutParams.POSITION_BOTTOM;
|
||||
import static com.android.systemui.complication.ComplicationLayoutParams.POSITION_END;
|
||||
import static com.android.systemui.complication.ComplicationLayoutParams.POSITION_START;
|
||||
import static com.android.systemui.complication.ComplicationLayoutParams.POSITION_TOP;
|
||||
import static com.android.systemui.complication.dagger.ComplicationHostViewModule.COMPLICATIONS_FADE_IN_DURATION;
|
||||
import static com.android.systemui.complication.dagger.ComplicationHostViewModule.COMPLICATIONS_FADE_OUT_DURATION;
|
||||
import static com.android.systemui.complication.dagger.ComplicationHostViewModule.COMPLICATION_DIRECTIONAL_SPACING_DEFAULT;
|
||||
import static com.android.systemui.complication.dagger.ComplicationHostViewModule.COMPLICATION_MARGIN_POSITION_BOTTOM;
|
||||
import static com.android.systemui.complication.dagger.ComplicationHostViewModule.COMPLICATION_MARGIN_POSITION_END;
|
||||
import static com.android.systemui.complication.dagger.ComplicationHostViewModule.COMPLICATION_MARGIN_POSITION_START;
|
||||
import static com.android.systemui.complication.dagger.ComplicationHostViewModule.COMPLICATION_MARGIN_POSITION_TOP;
|
||||
import static com.android.systemui.complication.dagger.ComplicationHostViewModule.SCOPED_COMPLICATIONS_LAYOUT;
|
||||
|
||||
import android.util.Log;
|
||||
@@ -29,6 +41,7 @@ import androidx.constraintlayout.widget.ConstraintLayout;
|
||||
import androidx.constraintlayout.widget.Constraints;
|
||||
|
||||
import com.android.systemui.R;
|
||||
import com.android.systemui.complication.ComplicationLayoutParams.Direction;
|
||||
import com.android.systemui.complication.ComplicationLayoutParams.Position;
|
||||
import com.android.systemui.complication.dagger.ComplicationModule;
|
||||
import com.android.systemui.statusbar.CrossFadeHelper;
|
||||
@@ -83,6 +96,16 @@ public class ComplicationLayoutEngine implements Complication.VisibilityControll
|
||||
this.end = end;
|
||||
this.bottom = bottom;
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a new {@link Margins} by adding the corresponding dimensions together.
|
||||
*/
|
||||
public static Margins combine(Margins margins1, Margins margins2) {
|
||||
return new Margins(margins1.start + margins2.start,
|
||||
margins1.top + margins2.top,
|
||||
margins1.end + margins2.end,
|
||||
margins1.bottom + margins2.bottom);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -220,7 +243,7 @@ public class ComplicationLayoutEngine implements Complication.VisibilityControll
|
||||
break;
|
||||
}
|
||||
|
||||
final Margins margins = mParent.getMargins(this);
|
||||
final Margins margins = mParent.getMargins(this, isRoot);
|
||||
params.setMarginsRelative(margins.start, margins.top, margins.end, margins.bottom);
|
||||
});
|
||||
|
||||
@@ -342,7 +365,7 @@ public class ComplicationLayoutEngine implements Complication.VisibilityControll
|
||||
/**
|
||||
* Returns the margins to be applied to the entry
|
||||
*/
|
||||
Margins getMargins(ViewEntry entry);
|
||||
Margins getMargins(ViewEntry entry, boolean isRoot);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -354,10 +377,13 @@ public class ComplicationLayoutEngine implements Complication.VisibilityControll
|
||||
private static class PositionGroup implements DirectionGroup.Parent {
|
||||
private final HashMap<Integer, DirectionGroup> mDirectionGroups = new HashMap<>();
|
||||
|
||||
private final HashMap<Integer, Margins> mDirectionalMargins;
|
||||
|
||||
private final int mDefaultDirectionalSpacing;
|
||||
|
||||
PositionGroup(int defaultDirectionalSpacing) {
|
||||
PositionGroup(int defaultDirectionalSpacing, HashMap<Integer, Margins> directionalMargins) {
|
||||
mDefaultDirectionalSpacing = defaultDirectionalSpacing;
|
||||
mDirectionalMargins = directionalMargins;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -369,7 +395,7 @@ public class ComplicationLayoutEngine implements Complication.VisibilityControll
|
||||
public ViewEntry add(ViewEntry.Builder entryBuilder) {
|
||||
final int direction = entryBuilder.getLayoutParams().getDirection();
|
||||
if (!mDirectionGroups.containsKey(direction)) {
|
||||
mDirectionGroups.put(direction, new DirectionGroup(this, direction));
|
||||
mDirectionGroups.put(direction, new DirectionGroup(this));
|
||||
}
|
||||
|
||||
return mDirectionGroups.get(direction).add(entryBuilder);
|
||||
@@ -388,6 +414,21 @@ public class ComplicationLayoutEngine implements Complication.VisibilityControll
|
||||
return mDefaultDirectionalSpacing;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Margins getMargins(ViewEntry entry, boolean isRoot) {
|
||||
if (isRoot) {
|
||||
Margins cumulativeMargins = new Margins();
|
||||
|
||||
for (Margins margins : mDirectionalMargins.values()) {
|
||||
cumulativeMargins = Margins.combine(margins, cumulativeMargins);
|
||||
}
|
||||
|
||||
return cumulativeMargins;
|
||||
}
|
||||
|
||||
return mDirectionalMargins.get(entry.getLayoutParams().getDirection());
|
||||
}
|
||||
|
||||
private void updateViews() {
|
||||
ViewEntry head = null;
|
||||
|
||||
@@ -440,17 +481,20 @@ public class ComplicationLayoutEngine implements Complication.VisibilityControll
|
||||
* Returns the default spacing between elements.
|
||||
*/
|
||||
int getDefaultDirectionalSpacing();
|
||||
|
||||
/**
|
||||
* Returns the margins for the view entry.
|
||||
*/
|
||||
Margins getMargins(ViewEntry entry, boolean isRoot);
|
||||
}
|
||||
private final ArrayList<ViewEntry> mViews = new ArrayList<>();
|
||||
private final Parent mParent;
|
||||
private final int mDirection;
|
||||
|
||||
/**
|
||||
* Creates a new {@link DirectionGroup} with the specified parent.
|
||||
*/
|
||||
DirectionGroup(Parent parent, int direction) {
|
||||
DirectionGroup(Parent parent) {
|
||||
mParent = parent;
|
||||
mDirection = direction;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -487,14 +531,14 @@ public class ComplicationLayoutEngine implements Complication.VisibilityControll
|
||||
}
|
||||
|
||||
@Override
|
||||
public Margins getMargins(ViewEntry entry) {
|
||||
public Margins getMargins(ViewEntry entry, boolean isRoot) {
|
||||
int directionalSpacing = entry.getLayoutParams().getDirectionalSpacing(
|
||||
mParent.getDefaultDirectionalSpacing());
|
||||
|
||||
Margins margins = new Margins();
|
||||
|
||||
if (getHead() != entry) {
|
||||
switch (mDirection) {
|
||||
if (!isRoot) {
|
||||
switch (entry.getLayoutParams().getDirection()) {
|
||||
case ComplicationLayoutParams.DIRECTION_START:
|
||||
margins = new Margins(0, 0, directionalSpacing, 0);
|
||||
break;
|
||||
@@ -510,7 +554,7 @@ public class ComplicationLayoutEngine implements Complication.VisibilityControll
|
||||
}
|
||||
}
|
||||
|
||||
return margins;
|
||||
return Margins.combine(mParent.getMargins(entry, isRoot), margins);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -540,11 +584,16 @@ public class ComplicationLayoutEngine implements Complication.VisibilityControll
|
||||
private final TouchInsetManager.TouchInsetSession mSession;
|
||||
private final int mFadeInDuration;
|
||||
private final int mFadeOutDuration;
|
||||
private final HashMap<Integer, HashMap<Integer, Margins>> mPositionDirectionMarginMapping;
|
||||
|
||||
/** */
|
||||
@Inject
|
||||
public ComplicationLayoutEngine(@Named(SCOPED_COMPLICATIONS_LAYOUT) ConstraintLayout layout,
|
||||
@Named(COMPLICATION_DIRECTIONAL_SPACING_DEFAULT) int defaultDirectionalSpacing,
|
||||
@Named(COMPLICATION_MARGIN_POSITION_START) int complicationMarginPositionStart,
|
||||
@Named(COMPLICATION_MARGIN_POSITION_TOP) int complicationMarginPositionTop,
|
||||
@Named(COMPLICATION_MARGIN_POSITION_END) int complicationMarginPositionEnd,
|
||||
@Named(COMPLICATION_MARGIN_POSITION_BOTTOM) int complicationMarginPositionBottom,
|
||||
TouchInsetManager.TouchInsetSession session,
|
||||
@Named(COMPLICATIONS_FADE_IN_DURATION) int fadeInDuration,
|
||||
@Named(COMPLICATIONS_FADE_OUT_DURATION) int fadeOutDuration) {
|
||||
@@ -553,6 +602,46 @@ public class ComplicationLayoutEngine implements Complication.VisibilityControll
|
||||
mSession = session;
|
||||
mFadeInDuration = fadeInDuration;
|
||||
mFadeOutDuration = fadeOutDuration;
|
||||
mPositionDirectionMarginMapping = generatePositionDirectionalMarginsMapping(
|
||||
complicationMarginPositionStart,
|
||||
complicationMarginPositionTop,
|
||||
complicationMarginPositionEnd,
|
||||
complicationMarginPositionBottom);
|
||||
}
|
||||
|
||||
private static HashMap<Integer, HashMap<Integer, Margins>>
|
||||
generatePositionDirectionalMarginsMapping(int complicationMarginPositionStart,
|
||||
int complicationMarginPositionTop,
|
||||
int complicationMarginPositionEnd,
|
||||
int complicationMarginPositionBottom) {
|
||||
HashMap<Integer, HashMap<Integer, Margins>> mapping = new HashMap<>();
|
||||
|
||||
final Margins startMargins = new Margins(complicationMarginPositionStart, 0, 0, 0);
|
||||
final Margins topMargins = new Margins(0, complicationMarginPositionTop, 0, 0);
|
||||
final Margins endMargins = new Margins(0, 0, complicationMarginPositionEnd, 0);
|
||||
final Margins bottomMargins = new Margins(0, 0, 0, complicationMarginPositionBottom);
|
||||
|
||||
addToMapping(mapping, POSITION_START | POSITION_TOP, DIRECTION_END, topMargins);
|
||||
addToMapping(mapping, POSITION_START | POSITION_TOP, DIRECTION_DOWN, startMargins);
|
||||
|
||||
addToMapping(mapping, POSITION_START | POSITION_BOTTOM, DIRECTION_END, bottomMargins);
|
||||
addToMapping(mapping, POSITION_START | POSITION_BOTTOM, DIRECTION_UP, startMargins);
|
||||
|
||||
addToMapping(mapping, POSITION_END | POSITION_TOP, DIRECTION_START, topMargins);
|
||||
addToMapping(mapping, POSITION_END | POSITION_TOP, DIRECTION_DOWN, endMargins);
|
||||
|
||||
addToMapping(mapping, POSITION_END | POSITION_BOTTOM, DIRECTION_START, bottomMargins);
|
||||
addToMapping(mapping, POSITION_END | POSITION_BOTTOM, DIRECTION_UP, endMargins);
|
||||
|
||||
return mapping;
|
||||
}
|
||||
|
||||
private static void addToMapping(HashMap<Integer, HashMap<Integer, Margins>> mapping,
|
||||
@Position int position, @Direction int direction, Margins margins) {
|
||||
if (!mapping.containsKey(position)) {
|
||||
mapping.put(position, new HashMap<>());
|
||||
}
|
||||
mapping.get(position).put(direction, margins);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -592,7 +681,8 @@ public class ComplicationLayoutEngine implements Complication.VisibilityControll
|
||||
// Add position group if doesn't already exist
|
||||
final int position = lp.getPosition();
|
||||
if (!mPositions.containsKey(position)) {
|
||||
mPositions.put(position, new PositionGroup(mDefaultDirectionalSpacing));
|
||||
mPositions.put(position, new PositionGroup(mDefaultDirectionalSpacing,
|
||||
mPositionDirectionMarginMapping.get(lp.getPosition())));
|
||||
}
|
||||
|
||||
// Insert entry into group
|
||||
|
||||
@@ -42,6 +42,14 @@ public abstract class ComplicationHostViewModule {
|
||||
public static final String COMPLICATIONS_FADE_IN_DURATION = "complications_fade_in_duration";
|
||||
public static final String COMPLICATIONS_RESTORE_TIMEOUT = "complication_restore_timeout";
|
||||
public static final String COMPLICATIONS_FADE_OUT_DELAY = "complication_fade_out_delay";
|
||||
public static final String COMPLICATION_MARGIN_POSITION_START =
|
||||
"complication_margin_position_start";
|
||||
public static final String COMPLICATION_MARGIN_POSITION_TOP =
|
||||
"complication_margin_position_top";
|
||||
public static final String COMPLICATION_MARGIN_POSITION_END =
|
||||
"complication_margin_position_end";
|
||||
public static final String COMPLICATION_MARGIN_POSITION_BOTTOM =
|
||||
"complication_margin_position_bottom";
|
||||
|
||||
/**
|
||||
* Generates a {@link ConstraintLayout}, which can host
|
||||
@@ -64,6 +72,30 @@ public abstract class ComplicationHostViewModule {
|
||||
return resources.getDimensionPixelSize(R.dimen.dream_overlay_complication_margin);
|
||||
}
|
||||
|
||||
@Provides
|
||||
@Named(COMPLICATION_MARGIN_POSITION_START)
|
||||
static int providesComplicationMarginPositionStart(@Main Resources resources) {
|
||||
return resources.getDimensionPixelSize(R.dimen.dream_overlay_container_padding_start);
|
||||
}
|
||||
|
||||
@Provides
|
||||
@Named(COMPLICATION_MARGIN_POSITION_TOP)
|
||||
static int providesComplicationMarginPositionTop(@Main Resources resources) {
|
||||
return resources.getDimensionPixelSize(R.dimen.dream_overlay_container_padding_top);
|
||||
}
|
||||
|
||||
@Provides
|
||||
@Named(COMPLICATION_MARGIN_POSITION_END)
|
||||
static int providesComplicationMarginPositionEnd(@Main Resources resources) {
|
||||
return resources.getDimensionPixelSize(R.dimen.dream_overlay_container_padding_end);
|
||||
}
|
||||
|
||||
@Provides
|
||||
@Named(COMPLICATION_MARGIN_POSITION_BOTTOM)
|
||||
static int providesComplicationMarginPositionBottom(@Main Resources resources) {
|
||||
return resources.getDimensionPixelSize(R.dimen.dream_overlay_container_padding_bottom);
|
||||
}
|
||||
|
||||
/**
|
||||
* Provides the fade out duration for complications.
|
||||
*/
|
||||
|
||||
@@ -30,6 +30,7 @@ import androidx.test.filters.SmallTest;
|
||||
|
||||
import com.android.systemui.R;
|
||||
import com.android.systemui.SysuiTestCase;
|
||||
import com.android.systemui.complication.ComplicationLayoutEngine.Margins;
|
||||
import com.android.systemui.touch.TouchInsetManager;
|
||||
|
||||
import org.junit.Before;
|
||||
@@ -42,6 +43,7 @@ import org.mockito.MockitoAnnotations;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Random;
|
||||
import java.util.function.Consumer;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@@ -54,6 +56,14 @@ public class ComplicationLayoutEngineTest extends SysuiTestCase {
|
||||
@Mock
|
||||
TouchInsetManager.TouchInsetSession mTouchSession;
|
||||
|
||||
ComplicationLayoutEngine createComplicationLayoutEngine() {
|
||||
return createComplicationLayoutEngine(0);
|
||||
}
|
||||
|
||||
ComplicationLayoutEngine createComplicationLayoutEngine(int spacing) {
|
||||
return new ComplicationLayoutEngine(mLayout, spacing, 0, 0, 0, 0, mTouchSession, 0, 0);
|
||||
}
|
||||
|
||||
@Before
|
||||
public void setup() {
|
||||
MockitoAnnotations.initMocks(this);
|
||||
@@ -104,6 +114,73 @@ public class ComplicationLayoutEngineTest extends SysuiTestCase {
|
||||
engine.addComplication(info.id, info.view, info.lp, info.category);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testCombineMargins() {
|
||||
final Random rand = new Random();
|
||||
final Margins margins1 = new Margins(rand.nextInt(), rand.nextInt(), rand.nextInt(),
|
||||
rand.nextInt());
|
||||
final Margins margins2 = new Margins(rand.nextInt(), rand.nextInt(), rand.nextInt(),
|
||||
rand.nextInt());
|
||||
final Margins combined = Margins.combine(margins1, margins2);
|
||||
assertThat(margins1.start + margins2.start).isEqualTo(combined.start);
|
||||
assertThat(margins1.top + margins2.top).isEqualTo(combined.top);
|
||||
assertThat(margins1.end + margins2.end).isEqualTo(combined.end);
|
||||
assertThat(margins1.bottom + margins2.bottom).isEqualTo(combined.bottom);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testComplicationMarginPosition() {
|
||||
final Random rand = new Random();
|
||||
final int startMargin = rand.nextInt();
|
||||
final int topMargin = rand.nextInt();
|
||||
final int endMargin = rand.nextInt();
|
||||
final int bottomMargin = rand.nextInt();
|
||||
final int spacing = rand.nextInt();
|
||||
|
||||
final ComplicationLayoutEngine engine = new ComplicationLayoutEngine(mLayout, spacing,
|
||||
startMargin, topMargin, endMargin, bottomMargin, mTouchSession, 0, 0);
|
||||
|
||||
final ViewInfo firstViewInfo = new ViewInfo(
|
||||
new ComplicationLayoutParams(
|
||||
100,
|
||||
100,
|
||||
ComplicationLayoutParams.POSITION_TOP
|
||||
| ComplicationLayoutParams.POSITION_END,
|
||||
ComplicationLayoutParams.DIRECTION_DOWN,
|
||||
0),
|
||||
Complication.CATEGORY_SYSTEM,
|
||||
mLayout);
|
||||
|
||||
addComplication(engine, firstViewInfo);
|
||||
firstViewInfo.clearInvocations();
|
||||
|
||||
final ViewInfo secondViewInfo = new ViewInfo(
|
||||
new ComplicationLayoutParams(
|
||||
100,
|
||||
100,
|
||||
ComplicationLayoutParams.POSITION_TOP
|
||||
| ComplicationLayoutParams.POSITION_END,
|
||||
ComplicationLayoutParams.DIRECTION_DOWN,
|
||||
0),
|
||||
Complication.CATEGORY_STANDARD,
|
||||
mLayout);
|
||||
|
||||
addComplication(engine, secondViewInfo);
|
||||
|
||||
|
||||
// The first added view should have margins from both directions from the corner position.
|
||||
verifyChange(firstViewInfo, false, lp -> {
|
||||
assertThat(lp.topMargin).isEqualTo(topMargin);
|
||||
assertThat(lp.getMarginEnd()).isEqualTo(endMargin);
|
||||
});
|
||||
|
||||
// The second view should be spaced below the first view and have the side end margin.
|
||||
verifyChange(secondViewInfo, false, lp -> {
|
||||
assertThat(lp.topMargin).isEqualTo(spacing);
|
||||
assertThat(lp.getMarginEnd()).isEqualTo(endMargin);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Makes sure the engine properly places a view within the {@link ConstraintLayout}.
|
||||
*/
|
||||
@@ -120,8 +197,7 @@ public class ComplicationLayoutEngineTest extends SysuiTestCase {
|
||||
Complication.CATEGORY_STANDARD,
|
||||
mLayout);
|
||||
|
||||
final ComplicationLayoutEngine engine =
|
||||
new ComplicationLayoutEngine(mLayout, 0, mTouchSession, 0, 0);
|
||||
final ComplicationLayoutEngine engine = createComplicationLayoutEngine();
|
||||
addComplication(engine, firstViewInfo);
|
||||
|
||||
// Ensure the view is added to the top end corner
|
||||
@@ -148,8 +224,7 @@ public class ComplicationLayoutEngineTest extends SysuiTestCase {
|
||||
Complication.CATEGORY_STANDARD,
|
||||
mLayout);
|
||||
|
||||
final ComplicationLayoutEngine engine =
|
||||
new ComplicationLayoutEngine(mLayout, 0, mTouchSession, 0, 0);
|
||||
final ComplicationLayoutEngine engine = createComplicationLayoutEngine();
|
||||
addComplication(engine, firstViewInfo);
|
||||
|
||||
// Ensure the view is added to the top end corner
|
||||
@@ -165,8 +240,7 @@ public class ComplicationLayoutEngineTest extends SysuiTestCase {
|
||||
*/
|
||||
@Test
|
||||
public void testDirectionLayout() {
|
||||
final ComplicationLayoutEngine engine =
|
||||
new ComplicationLayoutEngine(mLayout, 0, mTouchSession, 0, 0);
|
||||
final ComplicationLayoutEngine engine = createComplicationLayoutEngine();
|
||||
|
||||
final ViewInfo firstViewInfo = new ViewInfo(
|
||||
new ComplicationLayoutParams(
|
||||
@@ -214,8 +288,7 @@ public class ComplicationLayoutEngineTest extends SysuiTestCase {
|
||||
*/
|
||||
@Test
|
||||
public void testPositionLayout() {
|
||||
final ComplicationLayoutEngine engine =
|
||||
new ComplicationLayoutEngine(mLayout, 0, mTouchSession, 0, 0);
|
||||
final ComplicationLayoutEngine engine = createComplicationLayoutEngine();
|
||||
|
||||
final ViewInfo firstViewInfo = new ViewInfo(
|
||||
new ComplicationLayoutParams(
|
||||
@@ -302,8 +375,7 @@ public class ComplicationLayoutEngineTest extends SysuiTestCase {
|
||||
@Test
|
||||
public void testDefaultMargin() {
|
||||
final int margin = 5;
|
||||
final ComplicationLayoutEngine engine =
|
||||
new ComplicationLayoutEngine(mLayout, margin, mTouchSession, 0, 0);
|
||||
final ComplicationLayoutEngine engine = createComplicationLayoutEngine(margin);
|
||||
|
||||
final ViewInfo firstViewInfo = new ViewInfo(
|
||||
new ComplicationLayoutParams(
|
||||
@@ -379,8 +451,7 @@ public class ComplicationLayoutEngineTest extends SysuiTestCase {
|
||||
public void testComplicationMargin() {
|
||||
final int defaultMargin = 5;
|
||||
final int complicationMargin = 10;
|
||||
final ComplicationLayoutEngine engine =
|
||||
new ComplicationLayoutEngine(mLayout, defaultMargin, mTouchSession, 0, 0);
|
||||
final ComplicationLayoutEngine engine = createComplicationLayoutEngine(defaultMargin);
|
||||
|
||||
final ViewInfo firstViewInfo = new ViewInfo(
|
||||
new ComplicationLayoutParams(
|
||||
@@ -446,8 +517,7 @@ public class ComplicationLayoutEngineTest extends SysuiTestCase {
|
||||
@Test
|
||||
public void testWidthConstraint() {
|
||||
final int maxWidth = 20;
|
||||
final ComplicationLayoutEngine engine =
|
||||
new ComplicationLayoutEngine(mLayout, 0, mTouchSession, 0, 0);
|
||||
final ComplicationLayoutEngine engine = createComplicationLayoutEngine();
|
||||
|
||||
final ViewInfo viewStartDirection = new ViewInfo(
|
||||
new ComplicationLayoutParams(
|
||||
@@ -495,8 +565,7 @@ public class ComplicationLayoutEngineTest extends SysuiTestCase {
|
||||
@Test
|
||||
public void testHeightConstraint() {
|
||||
final int maxHeight = 20;
|
||||
final ComplicationLayoutEngine engine =
|
||||
new ComplicationLayoutEngine(mLayout, 0, mTouchSession, 0, 0);
|
||||
final ComplicationLayoutEngine engine = createComplicationLayoutEngine();
|
||||
|
||||
final ViewInfo viewUpDirection = new ViewInfo(
|
||||
new ComplicationLayoutParams(
|
||||
@@ -543,8 +612,7 @@ public class ComplicationLayoutEngineTest extends SysuiTestCase {
|
||||
*/
|
||||
@Test
|
||||
public void testConstraintNotSetWhenNotSpecified() {
|
||||
final ComplicationLayoutEngine engine =
|
||||
new ComplicationLayoutEngine(mLayout, 0, mTouchSession, 0, 0);
|
||||
final ComplicationLayoutEngine engine = createComplicationLayoutEngine();
|
||||
|
||||
final ViewInfo view = new ViewInfo(
|
||||
new ComplicationLayoutParams(
|
||||
@@ -572,8 +640,7 @@ public class ComplicationLayoutEngineTest extends SysuiTestCase {
|
||||
*/
|
||||
@Test
|
||||
public void testRemoval() {
|
||||
final ComplicationLayoutEngine engine =
|
||||
new ComplicationLayoutEngine(mLayout, 0, mTouchSession, 0, 0);
|
||||
final ComplicationLayoutEngine engine = createComplicationLayoutEngine();
|
||||
|
||||
final ViewInfo firstViewInfo = new ViewInfo(
|
||||
new ComplicationLayoutParams(
|
||||
@@ -619,8 +686,7 @@ public class ComplicationLayoutEngineTest extends SysuiTestCase {
|
||||
*/
|
||||
@Test
|
||||
public void testDoubleRemoval() {
|
||||
final ComplicationLayoutEngine engine =
|
||||
new ComplicationLayoutEngine(mLayout, 0, mTouchSession, 0, 0);
|
||||
final ComplicationLayoutEngine engine = createComplicationLayoutEngine();
|
||||
|
||||
final ViewInfo firstViewInfo = new ViewInfo(
|
||||
new ComplicationLayoutParams(
|
||||
@@ -649,8 +715,7 @@ public class ComplicationLayoutEngineTest extends SysuiTestCase {
|
||||
|
||||
@Test
|
||||
public void testGetViews() {
|
||||
final ComplicationLayoutEngine engine =
|
||||
new ComplicationLayoutEngine(mLayout, 0, mTouchSession, 0, 0);
|
||||
final ComplicationLayoutEngine engine = createComplicationLayoutEngine();
|
||||
|
||||
final ViewInfo topEndView = new ViewInfo(
|
||||
new ComplicationLayoutParams(
|
||||
|
||||
Reference in New Issue
Block a user