Loading packages/SystemUI/multivalentTests/src/com/android/systemui/complication/ComplicationHostViewControllerTest.java +15 −0 Original line number Diff line number Diff line Loading @@ -133,6 +133,7 @@ public class ComplicationHostViewControllerTest extends SysuiTestCase { */ @Test public void testViewModelObservation() { mController.onViewAttached(); final Observer<Collection<ComplicationViewModel>> observer = captureComplicationViewModelsObserver(); Loading @@ -152,6 +153,7 @@ public class ComplicationHostViewControllerTest extends SysuiTestCase { @Test public void testMalformedComplicationAddition() { mController.onViewAttached(); final Observer<Collection<ComplicationViewModel>> observer = captureComplicationViewModelsObserver(); Loading @@ -167,6 +169,7 @@ public class ComplicationHostViewControllerTest extends SysuiTestCase { @Test public void testNewComplicationsBeforeEntryAnimationsFinishSetToInvisible() { mController.onViewAttached(); final Observer<Collection<ComplicationViewModel>> observer = captureComplicationViewModelsObserver(); Loading @@ -181,6 +184,7 @@ public class ComplicationHostViewControllerTest extends SysuiTestCase { @Test public void testNewComplicationsAfterEntryAnimationsFinishNotSetToInvisible() { mController.onViewAttached(); final Observer<Collection<ComplicationViewModel>> observer = captureComplicationViewModelsObserver(); Loading @@ -198,6 +202,7 @@ public class ComplicationHostViewControllerTest extends SysuiTestCase { @Test public void testAnimationsDisabled_ComplicationsNeverSetToInvisible() { mController.onViewAttached(); //Disable animations mController.mIsAnimationEnabled = false; Loading @@ -213,6 +218,16 @@ public class ComplicationHostViewControllerTest extends SysuiTestCase { verify(mComplicationView, never()).setVisibility(View.INVISIBLE); } @Test public void testLifecycleObserve_activeOnlyDuringAttachedState() { verify(mComplicationViewModelLiveData, never()).observe(any(), any()); mController.onViewAttached(); final Observer<Collection<ComplicationViewModel>> observer = captureComplicationViewModelsObserver(); mController.onViewDetached(); verify(mComplicationViewModelLiveData).removeObserver(eq(observer)); } private Observer<Collection<ComplicationViewModel>> captureComplicationViewModelsObserver() { verify(mComplicationViewModelLiveData).observe(eq(mLifecycleOwner), mObserverCaptor.capture()); Loading packages/SystemUI/src/com/android/systemui/complication/ComplicationHostViewController.java +13 −7 Original line number Diff line number Diff line Loading @@ -29,6 +29,7 @@ import android.view.View; import androidx.constraintlayout.widget.ConstraintLayout; import androidx.lifecycle.LifecycleOwner; import androidx.lifecycle.Observer; import com.android.internal.annotations.VisibleForTesting; import com.android.systemui.dreams.DreamOverlayStateController; Loading Loading @@ -58,6 +59,14 @@ public class ComplicationHostViewController extends ViewController<ConstraintLay private final LifecycleOwner mLifecycleOwner; private final ComplicationCollectionViewModel mComplicationCollectionViewModel; private final HashMap<ComplicationId, Complication.ViewHolder> mComplications = new HashMap<>(); private final Observer<Collection<ComplicationViewModel>> mComplicationViewModelObserver = new Observer<>() { @Override public void onChanged(Collection<ComplicationViewModel> complicationViewModels) { updateComplications(complicationViewModels); } }; @VisibleForTesting boolean mIsAnimationEnabled; Loading @@ -80,13 +89,6 @@ public class ComplicationHostViewController extends ViewController<ConstraintLay Settings.Global.ANIMATOR_DURATION_SCALE, 1.0f, UserHandle.USER_CURRENT) != 0.0f; } @Override protected void onInit() { super.onInit(); mComplicationCollectionViewModel.getComplications().observe(mLifecycleOwner, complicationViewModels -> updateComplications(complicationViewModels)); } /** * Returns the region in display space occupied by complications. Touches in this region * (composed of a collection of individual rectangular regions) should be directed to the Loading Loading @@ -166,10 +168,14 @@ public class ComplicationHostViewController extends ViewController<ConstraintLay @Override protected void onViewAttached() { mComplicationCollectionViewModel.getComplications().observe(mLifecycleOwner, mComplicationViewModelObserver); } @Override protected void onViewDetached() { mComplicationCollectionViewModel.getComplications().removeObserver( mComplicationViewModelObserver); } /** Loading Loading
packages/SystemUI/multivalentTests/src/com/android/systemui/complication/ComplicationHostViewControllerTest.java +15 −0 Original line number Diff line number Diff line Loading @@ -133,6 +133,7 @@ public class ComplicationHostViewControllerTest extends SysuiTestCase { */ @Test public void testViewModelObservation() { mController.onViewAttached(); final Observer<Collection<ComplicationViewModel>> observer = captureComplicationViewModelsObserver(); Loading @@ -152,6 +153,7 @@ public class ComplicationHostViewControllerTest extends SysuiTestCase { @Test public void testMalformedComplicationAddition() { mController.onViewAttached(); final Observer<Collection<ComplicationViewModel>> observer = captureComplicationViewModelsObserver(); Loading @@ -167,6 +169,7 @@ public class ComplicationHostViewControllerTest extends SysuiTestCase { @Test public void testNewComplicationsBeforeEntryAnimationsFinishSetToInvisible() { mController.onViewAttached(); final Observer<Collection<ComplicationViewModel>> observer = captureComplicationViewModelsObserver(); Loading @@ -181,6 +184,7 @@ public class ComplicationHostViewControllerTest extends SysuiTestCase { @Test public void testNewComplicationsAfterEntryAnimationsFinishNotSetToInvisible() { mController.onViewAttached(); final Observer<Collection<ComplicationViewModel>> observer = captureComplicationViewModelsObserver(); Loading @@ -198,6 +202,7 @@ public class ComplicationHostViewControllerTest extends SysuiTestCase { @Test public void testAnimationsDisabled_ComplicationsNeverSetToInvisible() { mController.onViewAttached(); //Disable animations mController.mIsAnimationEnabled = false; Loading @@ -213,6 +218,16 @@ public class ComplicationHostViewControllerTest extends SysuiTestCase { verify(mComplicationView, never()).setVisibility(View.INVISIBLE); } @Test public void testLifecycleObserve_activeOnlyDuringAttachedState() { verify(mComplicationViewModelLiveData, never()).observe(any(), any()); mController.onViewAttached(); final Observer<Collection<ComplicationViewModel>> observer = captureComplicationViewModelsObserver(); mController.onViewDetached(); verify(mComplicationViewModelLiveData).removeObserver(eq(observer)); } private Observer<Collection<ComplicationViewModel>> captureComplicationViewModelsObserver() { verify(mComplicationViewModelLiveData).observe(eq(mLifecycleOwner), mObserverCaptor.capture()); Loading
packages/SystemUI/src/com/android/systemui/complication/ComplicationHostViewController.java +13 −7 Original line number Diff line number Diff line Loading @@ -29,6 +29,7 @@ import android.view.View; import androidx.constraintlayout.widget.ConstraintLayout; import androidx.lifecycle.LifecycleOwner; import androidx.lifecycle.Observer; import com.android.internal.annotations.VisibleForTesting; import com.android.systemui.dreams.DreamOverlayStateController; Loading Loading @@ -58,6 +59,14 @@ public class ComplicationHostViewController extends ViewController<ConstraintLay private final LifecycleOwner mLifecycleOwner; private final ComplicationCollectionViewModel mComplicationCollectionViewModel; private final HashMap<ComplicationId, Complication.ViewHolder> mComplications = new HashMap<>(); private final Observer<Collection<ComplicationViewModel>> mComplicationViewModelObserver = new Observer<>() { @Override public void onChanged(Collection<ComplicationViewModel> complicationViewModels) { updateComplications(complicationViewModels); } }; @VisibleForTesting boolean mIsAnimationEnabled; Loading @@ -80,13 +89,6 @@ public class ComplicationHostViewController extends ViewController<ConstraintLay Settings.Global.ANIMATOR_DURATION_SCALE, 1.0f, UserHandle.USER_CURRENT) != 0.0f; } @Override protected void onInit() { super.onInit(); mComplicationCollectionViewModel.getComplications().observe(mLifecycleOwner, complicationViewModels -> updateComplications(complicationViewModels)); } /** * Returns the region in display space occupied by complications. Touches in this region * (composed of a collection of individual rectangular regions) should be directed to the Loading Loading @@ -166,10 +168,14 @@ public class ComplicationHostViewController extends ViewController<ConstraintLay @Override protected void onViewAttached() { mComplicationCollectionViewModel.getComplications().observe(mLifecycleOwner, mComplicationViewModelObserver); } @Override protected void onViewDetached() { mComplicationCollectionViewModel.getComplications().removeObserver( mComplicationViewModelObserver); } /** Loading