Update to new method to check if app supports picture-in-picture.

- With change ag/1705896, we are no longer using resizeMode to
  check for picture-in-picture support.

Bug: 34256643
Test: make -j40 RunSettingsRoboTests
Change-Id: Iea0c6e76db52d994295922580f14bb0cb0d65451
This commit is contained in:
Winson Chung
2017-01-24 10:50:24 -08:00
parent 2a7c6bd840
commit 49d1448cc4
4 changed files with 11 additions and 14 deletions

View File

@@ -24,7 +24,7 @@ package com.android.settings.applications;
public interface ActivityInfoWrapper { public interface ActivityInfoWrapper {
/** /**
* Returns the resizeMode of the activity. * Returns whether this activity supports picture-in-picture.
*/ */
int getResizeMode(); boolean supportsPictureInPicture();
} }

View File

@@ -27,7 +27,7 @@ public class ActivityInfoWrapperImpl implements ActivityInfoWrapper {
} }
@Override @Override
public int getResizeMode() { public boolean supportsPictureInPicture() {
return mInfo.resizeMode; return mInfo.supportsPictureInPicture();
} }
} }

View File

@@ -18,7 +18,6 @@ package com.android.settings.applications;
import static android.app.AppOpsManager.MODE_ALLOWED; import static android.app.AppOpsManager.MODE_ALLOWED;
import static android.app.AppOpsManager.MODE_ERRORED; import static android.app.AppOpsManager.MODE_ERRORED;
import static android.app.AppOpsManager.OP_ENTER_PICTURE_IN_PICTURE_ON_HIDE; import static android.app.AppOpsManager.OP_ENTER_PICTURE_IN_PICTURE_ON_HIDE;
import static android.content.pm.ActivityInfo.RESIZE_MODE_RESIZEABLE_AND_PIPABLE;
import static android.content.pm.PackageManager.GET_ACTIVITIES; import static android.content.pm.PackageManager.GET_ACTIVITIES;
import android.annotation.Nullable; import android.annotation.Nullable;
@@ -91,7 +90,7 @@ public class PictureInPictureSettings extends EmptyTextSettings {
// picture-in-picture // picture-in-picture
if (activities != null) { if (activities != null) {
for (int i = activities.length - 1; i >= 0; i--) { for (int i = activities.length - 1; i >= 0; i--) {
if (activities[i].getResizeMode() == RESIZE_MODE_RESIZEABLE_AND_PIPABLE) { if (activities[i].supportsPictureInPicture()) {
return true; return true;
} }
} }

View File

@@ -107,9 +107,7 @@ public class PictureInPictureSettingsTest {
if (resizeableActivityState.length > 0) { if (resizeableActivityState.length > 0) {
activities = new ActivityInfoWrapper[resizeableActivityState.length]; activities = new ActivityInfoWrapper[resizeableActivityState.length];
for (int i = 0; i < activities.length; i++) { for (int i = 0; i < activities.length; i++) {
activities[i] = new MockActivityInfo(resizeableActivityState[i] activities[i] = new MockActivityInfo(resizeableActivityState[i]);
? ActivityInfo.RESIZE_MODE_RESIZEABLE_AND_PIPABLE
: ActivityInfo.RESIZE_MODE_UNRESIZEABLE);
} }
} }
return PictureInPictureSettings.checkPackageHasPictureInPictureActivities(packageName, return PictureInPictureSettings.checkPackageHasPictureInPictureActivities(packageName,
@@ -118,15 +116,15 @@ public class PictureInPictureSettingsTest {
private class MockActivityInfo implements ActivityInfoWrapper { private class MockActivityInfo implements ActivityInfoWrapper {
private int mResizeMode; private boolean mSupportsPictureInPicture;
public MockActivityInfo(int resizeMode) { public MockActivityInfo(boolean supportsPictureInPicture) {
mResizeMode = resizeMode; mSupportsPictureInPicture = supportsPictureInPicture;
} }
@Override @Override
public int getResizeMode() { public boolean supportsPictureInPicture() {
return mResizeMode; return mSupportsPictureInPicture;
} }
} }
} }