Loading libs/WindowManager/Shell/src/com/android/wm/shell/pip/phone/PipController.java +10 −1 Original line number Diff line number Diff line Loading @@ -89,13 +89,14 @@ import com.android.wm.shell.transition.Transitions; import java.io.PrintWriter; import java.util.Optional; import java.util.Set; import java.util.function.Consumer; /** * Manages the picture-in-picture (PIP) UI and states for Phones. */ public class PipController implements PipTransitionController.PipTransitionCallback, RemoteCallable<PipController> { RemoteCallable<PipController>, DisplayController.OnDisplaysChangedListener { private static final String TAG = "PipController"; private Context mContext; Loading Loading @@ -454,6 +455,14 @@ public class PipController implements PipTransitionController.PipTransitionCallb return mMainExecutor; } @Override public void onKeepClearAreasChanged(int displayId, Set<Rect> restricted, Set<Rect> unrestricted) { if (mPipBoundsState.getDisplayId() == displayId) { mPipBoundsState.setKeepClearAreas(restricted, unrestricted); } } private void onConfigurationChanged(Configuration newConfig) { mPipBoundsAlgorithm.onConfigurationChanged(mContext); mTouchHandler.onConfigurationChanged(); Loading libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/pip/phone/PipControllerTest.java +12 −0 Original line number Diff line number Diff line Loading @@ -59,6 +59,7 @@ import org.mockito.Mock; import org.mockito.MockitoAnnotations; import java.util.Optional; import java.util.Set; /** * Unit tests for {@link PipController} Loading Loading @@ -209,4 +210,15 @@ public class PipControllerTest extends ShellTestCase { verify(mMockPipMotionHelper, never()).movePip(any(Rect.class)); } @Test public void onKeepClearAreasChanged_updatesPipBoundsState() { final int displayId = 1; final Rect keepClearArea = new Rect(0, 0, 10, 10); when(mMockPipBoundsState.getDisplayId()).thenReturn(displayId); mPipController.onKeepClearAreasChanged(displayId, Set.of(keepClearArea), Set.of()); verify(mMockPipBoundsState).setKeepClearAreas(Set.of(keepClearArea), Set.of()); } } Loading
libs/WindowManager/Shell/src/com/android/wm/shell/pip/phone/PipController.java +10 −1 Original line number Diff line number Diff line Loading @@ -89,13 +89,14 @@ import com.android.wm.shell.transition.Transitions; import java.io.PrintWriter; import java.util.Optional; import java.util.Set; import java.util.function.Consumer; /** * Manages the picture-in-picture (PIP) UI and states for Phones. */ public class PipController implements PipTransitionController.PipTransitionCallback, RemoteCallable<PipController> { RemoteCallable<PipController>, DisplayController.OnDisplaysChangedListener { private static final String TAG = "PipController"; private Context mContext; Loading Loading @@ -454,6 +455,14 @@ public class PipController implements PipTransitionController.PipTransitionCallb return mMainExecutor; } @Override public void onKeepClearAreasChanged(int displayId, Set<Rect> restricted, Set<Rect> unrestricted) { if (mPipBoundsState.getDisplayId() == displayId) { mPipBoundsState.setKeepClearAreas(restricted, unrestricted); } } private void onConfigurationChanged(Configuration newConfig) { mPipBoundsAlgorithm.onConfigurationChanged(mContext); mTouchHandler.onConfigurationChanged(); Loading
libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/pip/phone/PipControllerTest.java +12 −0 Original line number Diff line number Diff line Loading @@ -59,6 +59,7 @@ import org.mockito.Mock; import org.mockito.MockitoAnnotations; import java.util.Optional; import java.util.Set; /** * Unit tests for {@link PipController} Loading Loading @@ -209,4 +210,15 @@ public class PipControllerTest extends ShellTestCase { verify(mMockPipMotionHelper, never()).movePip(any(Rect.class)); } @Test public void onKeepClearAreasChanged_updatesPipBoundsState() { final int displayId = 1; final Rect keepClearArea = new Rect(0, 0, 10, 10); when(mMockPipBoundsState.getDisplayId()).thenReturn(displayId); mPipController.onKeepClearAreasChanged(displayId, Set.of(keepClearArea), Set.of()); verify(mMockPipBoundsState).setKeepClearAreas(Set.of(keepClearArea), Set.of()); } }