Merge "Comparing dimension and rotation instead of DisplayInfo" into qt-dev

am: 50ab7b076d

Change-Id: Icea4c88dfd08f9c8bc9b80a6fdfcbaea49c92313
This commit is contained in:
Hongwei Wang
2019-06-26 20:08:31 -07:00
committed by android-build-merger

View File

@@ -25,6 +25,7 @@ import static com.android.server.wm.PinnedStackControllerProto.MOVEMENT_BOUNDS;
import static com.android.server.wm.WindowManagerDebugConfig.TAG_WITH_CLASS_NAME; import static com.android.server.wm.WindowManagerDebugConfig.TAG_WITH_CLASS_NAME;
import static com.android.server.wm.WindowManagerDebugConfig.TAG_WM; import static com.android.server.wm.WindowManagerDebugConfig.TAG_WM;
import android.annotation.NonNull;
import android.app.RemoteAction; import android.app.RemoteAction;
import android.content.pm.ParceledListSlice; import android.content.pm.ParceledListSlice;
import android.content.res.Resources; import android.content.res.Resources;
@@ -45,6 +46,7 @@ import android.view.IPinnedStackController;
import android.view.IPinnedStackListener; import android.view.IPinnedStackListener;
import com.android.internal.policy.PipSnapAlgorithm; import com.android.internal.policy.PipSnapAlgorithm;
import com.android.internal.util.Preconditions;
import com.android.server.UiThread; import com.android.server.UiThread;
import java.io.PrintWriter; import java.io.PrintWriter;
@@ -326,8 +328,8 @@ class PinnedStackController {
boolean onTaskStackBoundsChanged(Rect targetBounds, Rect outBounds) { boolean onTaskStackBoundsChanged(Rect targetBounds, Rect outBounds) {
synchronized (mService.mGlobalLock) { synchronized (mService.mGlobalLock) {
final DisplayInfo displayInfo = mDisplayContent.getDisplayInfo(); final DisplayInfo displayInfo = mDisplayContent.getDisplayInfo();
if (mDisplayInfo.equals(displayInfo)) { if (isSameDimensionAndRotation(mDisplayInfo, displayInfo)) {
// We are already in the right orientation, ignore // No dimension/rotation change, ignore
outBounds.setEmpty(); outBounds.setEmpty();
return false; return false;
} else if (targetBounds.isEmpty()) { } else if (targetBounds.isEmpty()) {
@@ -427,6 +429,15 @@ class PinnedStackController {
notifyActionsChanged(mActions); notifyActionsChanged(mActions);
} }
private boolean isSameDimensionAndRotation(@NonNull DisplayInfo display1,
@NonNull DisplayInfo display2) {
Preconditions.checkNotNull(display1);
Preconditions.checkNotNull(display2);
return ((display1.rotation == display2.rotation)
&& (display1.logicalWidth == display2.logicalWidth)
&& (display1.logicalHeight == display2.logicalHeight));
}
/** /**
* Notifies listeners that the PIP needs to be adjusted for the IME. * Notifies listeners that the PIP needs to be adjusted for the IME.
*/ */