RecentsComponent.java revision dd98d41e3a65b3bcb37007ea5b29371cf013f563
1d08de37a2223d5183620098737eb93907a4ba92cJohn Spurlock/*
2d08de37a2223d5183620098737eb93907a4ba92cJohn Spurlock * Copyright (C) 2013 The Android Open Source Project
3d08de37a2223d5183620098737eb93907a4ba92cJohn Spurlock *
4d08de37a2223d5183620098737eb93907a4ba92cJohn Spurlock * Licensed under the Apache License, Version 2.0 (the "License");
5d08de37a2223d5183620098737eb93907a4ba92cJohn Spurlock * you may not use this file except in compliance with the License.
6d08de37a2223d5183620098737eb93907a4ba92cJohn Spurlock * You may obtain a copy of the License at
7d08de37a2223d5183620098737eb93907a4ba92cJohn Spurlock *
8d08de37a2223d5183620098737eb93907a4ba92cJohn Spurlock *      http://www.apache.org/licenses/LICENSE-2.0
9d08de37a2223d5183620098737eb93907a4ba92cJohn Spurlock *
10d08de37a2223d5183620098737eb93907a4ba92cJohn Spurlock * Unless required by applicable law or agreed to in writing, software
11d08de37a2223d5183620098737eb93907a4ba92cJohn Spurlock * distributed under the License is distributed on an "AS IS" BASIS,
12d08de37a2223d5183620098737eb93907a4ba92cJohn Spurlock * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13d08de37a2223d5183620098737eb93907a4ba92cJohn Spurlock * See the License for the specific language governing permissions and
14d08de37a2223d5183620098737eb93907a4ba92cJohn Spurlock * limitations under the License.
15d08de37a2223d5183620098737eb93907a4ba92cJohn Spurlock */
16d08de37a2223d5183620098737eb93907a4ba92cJohn Spurlock
17d08de37a2223d5183620098737eb93907a4ba92cJohn Spurlockpackage com.android.systemui;
18d08de37a2223d5183620098737eb93907a4ba92cJohn Spurlock
19d08de37a2223d5183620098737eb93907a4ba92cJohn Spurlockimport android.view.Display;
20d08de37a2223d5183620098737eb93907a4ba92cJohn Spurlockimport android.view.View;
21d08de37a2223d5183620098737eb93907a4ba92cJohn Spurlock
22d08de37a2223d5183620098737eb93907a4ba92cJohn Spurlockpublic interface RecentsComponent {
231e8d71b605b4872e93200706a80a88a3ff25498cWinson Chung    void showRecents(boolean triggeredFromAltTab, View statusBarView);
24cdcd487abad10f728f0542accc42a31d1f7fedacWinson Chung    void hideRecents(boolean triggeredFromAltTab, boolean triggeredFromHomeKey);
25d08de37a2223d5183620098737eb93907a4ba92cJohn Spurlock    void toggleRecents(Display display, int layoutDirection, View statusBarView);
261e8d71b605b4872e93200706a80a88a3ff25498cWinson Chung    void preloadRecents();
271e8d71b605b4872e93200706a80a88a3ff25498cWinson Chung    void cancelPreloadingRecents();
28b1f749906f5c27114d02ea0c3f8ce0dcea08fd3fWinson Chung    void showNextAffiliatedTask();
29b1f749906f5c27114d02ea0c3f8ce0dcea08fd3fWinson Chung    void showPrevAffiliatedTask();
3075b2597e5826662c1740d6f3b81966a9e6a9e7b4Jorim Jaggi
3175b2597e5826662c1740d6f3b81966a9e6a9e7b4Jorim Jaggi    /**
3275b2597e5826662c1740d6f3b81966a9e6a9e7b4Jorim Jaggi     * Docks the top-most task and opens recents.
3375b2597e5826662c1740d6f3b81966a9e6a9e7b4Jorim Jaggi     */
34dd98d41e3a65b3bcb37007ea5b29371cf013f563Jorim Jaggi    void dockTopTask(boolean draggingInRecents);
35dd98d41e3a65b3bcb37007ea5b29371cf013f563Jorim Jaggi
36dd98d41e3a65b3bcb37007ea5b29371cf013f563Jorim Jaggi    /**
37dd98d41e3a65b3bcb37007ea5b29371cf013f563Jorim Jaggi     * Called during a drag-from-navbar-in gesture.
38dd98d41e3a65b3bcb37007ea5b29371cf013f563Jorim Jaggi     *
39dd98d41e3a65b3bcb37007ea5b29371cf013f563Jorim Jaggi     * @param distanceFromTop the distance of the current drag in gesture from the top of the
40dd98d41e3a65b3bcb37007ea5b29371cf013f563Jorim Jaggi     *                        screen
41dd98d41e3a65b3bcb37007ea5b29371cf013f563Jorim Jaggi     */
42dd98d41e3a65b3bcb37007ea5b29371cf013f563Jorim Jaggi    void onDraggingInRecents(float distanceFromTop);
43dd98d41e3a65b3bcb37007ea5b29371cf013f563Jorim Jaggi
44dd98d41e3a65b3bcb37007ea5b29371cf013f563Jorim Jaggi    /**
45dd98d41e3a65b3bcb37007ea5b29371cf013f563Jorim Jaggi     * Called when the gesture to drag in recents ended.
46dd98d41e3a65b3bcb37007ea5b29371cf013f563Jorim Jaggi     *
47dd98d41e3a65b3bcb37007ea5b29371cf013f563Jorim Jaggi     * @param velocity the velocity of the finger when releasing it in pixels per second
48dd98d41e3a65b3bcb37007ea5b29371cf013f563Jorim Jaggi     */
49dd98d41e3a65b3bcb37007ea5b29371cf013f563Jorim Jaggi    void onDraggingInRecentsEnded(float velocity);
50d08de37a2223d5183620098737eb93907a4ba92cJohn Spurlock}
51