Merge "Comparing dimension and rotation instead of DisplayInfo" into qt-dev
This commit is contained in:
@@ -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.
|
||||||
*/
|
*/
|
||||||
|
|||||||
Reference in New Issue
Block a user