acaf0749b3
Floating icon animation runs entirely in portrait since that's what orienation launcher starts in. Current app window target rects are in landscape to be able animate to Overview correctly (which is not in portrait since the leash from WM is in the same orientation as that of foreground app). Invert that rect as the animation from app window to floating icon progresses. Fixes: 148528795 Change-Id: Ie1149a1a8904afc80bd1986f8d67b6f2d88c49f2
68 lines
1.9 KiB
Java
68 lines
1.9 KiB
Java
/*
|
|
* Copyright (C) 2019 The Android Open Source Project
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/
|
|
|
|
package com.android.launcher3.touch;
|
|
|
|
import android.content.res.Resources;
|
|
import android.graphics.PointF;
|
|
import android.graphics.RectF;
|
|
import android.view.Surface;
|
|
|
|
import com.android.launcher3.Utilities;
|
|
|
|
public class SeascapePagedViewHandler extends LandscapePagedViewHandler {
|
|
|
|
@Override
|
|
public int getTaskDismissDirectionFactor() {
|
|
return -1;
|
|
}
|
|
|
|
@Override
|
|
public boolean getRecentsRtlSetting(Resources resources) {
|
|
return Utilities.isRtl(resources);
|
|
}
|
|
|
|
@Override
|
|
public void offsetTaskRect(RectF rect, float value, int displayRotation) {
|
|
if (displayRotation == Surface.ROTATION_0) {
|
|
rect.offset(0, value);
|
|
} else if (displayRotation == Surface.ROTATION_90) {
|
|
rect.offset(value, 0);
|
|
} else if (displayRotation == Surface.ROTATION_180) {
|
|
rect.offset(0, -value);
|
|
} else {
|
|
rect.offset(-value, 0);
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public float getDegreesRotated() {
|
|
return 270;
|
|
}
|
|
|
|
@Override
|
|
public boolean isGoingUp(float displacement) {
|
|
return displacement < 0;
|
|
}
|
|
|
|
@Override
|
|
public void adjustFloatingIconStartVelocity(PointF velocity) {
|
|
float oldX = velocity.x;
|
|
float oldY = velocity.y;
|
|
velocity.set(oldY, -oldX);
|
|
}
|
|
}
|