From f366ad5586ef618cfe73cac6aa270a912951fc92 Mon Sep 17 00:00:00 2001 From: Xiaowen Lei Date: Thu, 16 Jun 2022 03:52:33 +0000 Subject: [PATCH] Add unit test to verify SmartSpaceComplicationViewHolder.getView() reuses view. Bug: 235625099 Fix: 235625099 Test: atest SmartSpaceComplicationTest Change-Id: I51fcca158812a159ff6f59e3e53b4098cfe4a699 --- .../dreams/SmartSpaceComplicationTest.java | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/packages/SystemUI/tests/src/com/android/systemui/dreams/SmartSpaceComplicationTest.java b/packages/SystemUI/tests/src/com/android/systemui/dreams/SmartSpaceComplicationTest.java index cefdf283fc7d0..dc1ae0e93757f 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/dreams/SmartSpaceComplicationTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/dreams/SmartSpaceComplicationTest.java @@ -15,6 +15,8 @@ */ package com.android.systemui.dreams; +import static org.junit.Assert.assertEquals; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.never; import static org.mockito.Mockito.verify; @@ -23,10 +25,13 @@ import static org.mockito.Mockito.when; import android.app.smartspace.SmartspaceTarget; import android.content.Context; import android.testing.AndroidTestingRunner; +import android.view.View; import androidx.test.filters.SmallTest; import com.android.systemui.SysuiTestCase; +import com.android.systemui.dreams.complication.Complication; +import com.android.systemui.dreams.complication.ComplicationViewModel; import com.android.systemui.dreams.smartspace.DreamSmartspaceController; import com.android.systemui.plugins.BcSmartspaceDataPlugin; @@ -55,6 +60,12 @@ public class SmartSpaceComplicationTest extends SysuiTestCase { @Mock private SmartSpaceComplication mComplication; + @Mock + private ComplicationViewModel mComplicationViewModel; + + @Mock + private View mBcSmartspaceView; + @Before public void setup() { MockitoAnnotations.initMocks(this); @@ -90,4 +101,13 @@ public class SmartSpaceComplicationTest extends SysuiTestCase { listenerCaptor.getValue().onSmartspaceTargetsUpdated(Arrays.asList(target)); verify(mDreamOverlayStateController).addComplication(eq(mComplication)); } + + @Test + public void testGetViewReusesSameView() { + final SmartSpaceComplication complication = new SmartSpaceComplication(getContext(), + mSmartspaceController); + final Complication.ViewHolder viewHolder = complication.createView(mComplicationViewModel); + when(mSmartspaceController.buildAndConnectView(any())).thenReturn(mBcSmartspaceView); + assertEquals(viewHolder.getView(), viewHolder.getView()); + } }