Fix issue with no rounded corners on PIP

- Existing code dependend on SysUI config listeners making an extra
  density change callback when registering a config listener, but
  we should explicitly update the resources when creating the
  helper class as well

Bug: 239689748
Test: Enter pip, see it has rounded corners
Change-Id: I673e561567de91da40d02a87a4571b56794efbfe
This commit is contained in:
Winson Chung
2022-07-25 18:30:01 +00:00
parent 27eb1be0d6
commit 5aea86753f
3 changed files with 10 additions and 6 deletions

View File

@@ -411,8 +411,8 @@ public abstract class WMShellBaseModule {
@WMSingleton
@Provides
static PipSurfaceTransactionHelper providePipSurfaceTransactionHelper() {
return new PipSurfaceTransactionHelper();
static PipSurfaceTransactionHelper providePipSurfaceTransactionHelper(Context context) {
return new PipSurfaceTransactionHelper(context);
}
@WMSingleton

View File

@@ -39,6 +39,10 @@ public class PipSurfaceTransactionHelper {
private int mCornerRadius;
private int mShadowRadius;
public PipSurfaceTransactionHelper(Context context) {
onDensityOrFontScaleChanged(context);
}
/**
* Called when display size or font size of settings changed
*

View File

@@ -37,6 +37,7 @@ import android.testing.TestableLooper;
import android.view.SurfaceControl;
import androidx.test.filters.SmallTest;
import androidx.test.platform.app.InstrumentationRegistry;
import com.android.wm.shell.MockSurfaceControlHelper;
import com.android.wm.shell.ShellTestCase;
@@ -62,19 +63,18 @@ public class PipAnimationControllerTest extends ShellTestCase {
@Mock
private TaskInfo mTaskInfo;
@Mock
private PipAnimationController.PipAnimationCallback mPipAnimationCallback;
@Before
public void setUp() throws Exception {
mPipAnimationController = new PipAnimationController(
new PipSurfaceTransactionHelper());
MockitoAnnotations.initMocks(this);
mPipAnimationController = new PipAnimationController(new PipSurfaceTransactionHelper(
InstrumentationRegistry.getInstrumentation().getTargetContext()));
mLeash = new SurfaceControl.Builder()
.setContainerLayer()
.setName("FakeLeash")
.build();
MockitoAnnotations.initMocks(this);
}
@Test