Use ActivityOptions.setLaunchBounds to resize PIP
Bug: 26574470 Change-Id: I5444ae40a51cf2746d78b4c006e5936c91d01ae4
This commit is contained in:
@@ -84,9 +84,8 @@ public class PipManager {
|
||||
return;
|
||||
}
|
||||
if (DEBUG) Log.d(TAG, "PINNED_STACK:" + stackInfo);
|
||||
mState = STATE_PIP_OVERLAY;
|
||||
mPipTaskId = stackInfo.taskIds[stackInfo.taskIds.length - 1];
|
||||
launchPipOverlayActivity();
|
||||
showPipOverlay(false);
|
||||
}
|
||||
};
|
||||
private final Runnable mOnTaskStackChanged = new Runnable() {
|
||||
@@ -208,17 +207,17 @@ public class PipManager {
|
||||
* stack to the default PIP bound {@link com.android.internal.R.string
|
||||
* .config_defaultPictureInPictureBounds}.
|
||||
*/
|
||||
public void showPipOverlay() {
|
||||
public void showPipOverlay(boolean resizeStack) {
|
||||
if (DEBUG) Log.d(TAG, "showPipOverlay()");
|
||||
try {
|
||||
mActivityManager.resizeStack(PINNED_STACK_ID, mPipBound, false);
|
||||
} catch (Exception e) {
|
||||
Log.e(TAG, "resizeStack failed", e);
|
||||
closePip();
|
||||
return;
|
||||
}
|
||||
mState = STATE_PIP_OVERLAY;
|
||||
launchPipOverlayActivity();
|
||||
Intent intent = new Intent(mContext, PipOverlayActivity.class);
|
||||
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
||||
final ActivityOptions options = ActivityOptions.makeBasic();
|
||||
options.setLaunchStackId(PINNED_STACK_ID);
|
||||
if (resizeStack) {
|
||||
options.setLaunchBounds(mPipBound);
|
||||
}
|
||||
mContext.startActivity(intent, options.toBundle());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -228,13 +227,6 @@ public class PipManager {
|
||||
*/
|
||||
public void showPipMenu() {
|
||||
if (DEBUG) Log.d(TAG, "showPipMenu()");
|
||||
try {
|
||||
mActivityManager.resizeStack(PINNED_STACK_ID, mMenuModePipBound, false);
|
||||
} catch (Exception e) {
|
||||
Log.e(TAG, "resizeStack failed", e);
|
||||
closePip();
|
||||
return;
|
||||
}
|
||||
mState = STATE_PIP_MENU;
|
||||
for (int i = mListeners.size() - 1; i >= 0; --i) {
|
||||
mListeners.get(i).onShowPipMenu();
|
||||
@@ -243,6 +235,7 @@ public class PipManager {
|
||||
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
||||
final ActivityOptions options = ActivityOptions.makeBasic();
|
||||
options.setLaunchStackId(PINNED_STACK_ID);
|
||||
options.setLaunchBounds(mMenuModePipBound);
|
||||
mContext.startActivity(intent, options.toBundle());
|
||||
}
|
||||
|
||||
@@ -260,14 +253,6 @@ public class PipManager {
|
||||
mListeners.remove(listener);
|
||||
}
|
||||
|
||||
private void launchPipOverlayActivity() {
|
||||
Intent intent = new Intent(mContext, PipOverlayActivity.class);
|
||||
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
||||
final ActivityOptions options = ActivityOptions.makeBasic();
|
||||
options.setLaunchStackId(PINNED_STACK_ID);
|
||||
mContext.startActivity(intent, options.toBundle());
|
||||
}
|
||||
|
||||
private boolean hasPipTasks() {
|
||||
try {
|
||||
StackInfo stackInfo = mActivityManager.getStackInfo(PINNED_STACK_ID);
|
||||
|
||||
@@ -55,7 +55,7 @@ public class PipMenuActivity extends Activity implements PipManager.Listener {
|
||||
findViewById(R.id.cancel).setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
mPipManager.showPipOverlay();
|
||||
mPipManager.showPipOverlay(true);
|
||||
finish();
|
||||
}
|
||||
});
|
||||
@@ -69,7 +69,7 @@ public class PipMenuActivity extends Activity implements PipManager.Listener {
|
||||
|
||||
@Override
|
||||
public void onBackPressed() {
|
||||
mPipManager.showPipOverlay();
|
||||
mPipManager.showPipOverlay(true);
|
||||
finish();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user