diff options
| -rw-r--r-- | services/core/java/com/android/server/am/ActivityStarter.java | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/services/core/java/com/android/server/am/ActivityStarter.java b/services/core/java/com/android/server/am/ActivityStarter.java index dcd293a340df..bf91230961ca 100644 --- a/services/core/java/com/android/server/am/ActivityStarter.java +++ b/services/core/java/com/android/server/am/ActivityStarter.java @@ -1472,17 +1472,11 @@ class ActivityStarter { } /** - * Returns the ID of the display to use for a new activity. If the source activity has - * a explicit display ID set, use that to launch the activity. If not and the device is in VR - * mode, then return the Vr mode's virtual display ID. + * Returns the ID of the display to use for a new activity. If the device is in VR mode, + * then return the Vr mode's virtual display ID. If not, if the source activity has + * a explicit display ID set, use that to launch the activity. */ private int getSourceDisplayId(ActivityRecord sourceRecord, ActivityRecord startingActivity) { - int displayId = sourceRecord != null ? sourceRecord.getDisplayId() : INVALID_DISPLAY; - // If the activity has a displayId set explicitly, launch it on the same displayId. - if (displayId != INVALID_DISPLAY) { - return displayId; - } - // Check if the Activity is a VR activity. If so, the activity should be launched in // main display. if (startingActivity != null && startingActivity.requestedVrComponent != null) { @@ -1490,7 +1484,7 @@ class ActivityStarter { } // Get the virtual display id from ActivityManagerService. - displayId = mService.mVrCompatibilityDisplayId; + int displayId = mService.mVrCompatibilityDisplayId; if (displayId != INVALID_DISPLAY) { if (DEBUG_STACK) { Slog.d(TAG, "getSourceDisplayId :" + displayId); @@ -1498,6 +1492,12 @@ class ActivityStarter { mUsingVrCompatibilityDisplay = true; return displayId; } + + displayId = sourceRecord != null ? sourceRecord.getDisplayId() : INVALID_DISPLAY; + // If the activity has a displayId set explicitly, launch it on the same displayId. + if (displayId != INVALID_DISPLAY) { + return displayId; + } return DEFAULT_DISPLAY; } |