blob: 15e1365998ef3c32bc687e24783badc3fa8f6292 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
/*
* 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.quickstep;
import static android.app.WindowConfiguration.WINDOWING_MODE_FREEFORM;
import static android.view.RemoteAnimationTarget.MODE_CLOSING;
import android.app.WindowConfiguration;
import android.graphics.Rect;
import android.view.RemoteAnimationTarget;
import com.android.quickstep.views.DesktopTaskView;
/**
* Extension of {@link RemoteAnimationTargets} with additional information about swipe
* up animation
*/
public class RecentsAnimationTargets extends RemoteAnimationTargets {
public final Rect homeContentInsets;
public final Rect minimizedHomeBounds;
public RecentsAnimationTargets(RemoteAnimationTarget[] apps,
RemoteAnimationTarget[] wallpapers, RemoteAnimationTarget[] nonApps,
Rect homeContentInsets, Rect minimizedHomeBounds) {
super(apps, wallpapers, nonApps, MODE_CLOSING);
this.homeContentInsets = homeContentInsets;
this.minimizedHomeBounds = minimizedHomeBounds;
}
public boolean hasTargets() {
return unfilteredApps.length != 0;
}
/**
* Check if target apps contain desktop tasks which have windowing mode set to {@link
* WindowConfiguration#WINDOWING_MODE_FREEFORM}
*
* @return {@code true} if at least one target app is a desktop task
*/
public boolean hasDesktopTasks() {
if (!DesktopTaskView.DESKTOP_MODE_SUPPORTED) {
return false;
}
for (RemoteAnimationTarget target : apps) {
if (target.windowConfiguration.getWindowingMode() == WINDOWING_MODE_FREEFORM) {
return true;
}
}
return false;
}
}
|