Merge "Use ActivityOptions.setLaunchBounds to resize PIP"

This commit is contained in:
Youngsang Cho
2016-01-22 03:46:58 +00:00
committed by Android (Google) Code Review
2 changed files with 13 additions and 28 deletions

View File

@@ -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);

View File

@@ -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();
}