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 199ea2f7ba3155a455724f64e2d6a964ad4e99dfa5Jorim Jaggiimport android.graphics.Rect; 20d08de37a2223d5183620098737eb93907a4ba92cJohn Spurlockimport android.view.Display; 21d08de37a2223d5183620098737eb93907a4ba92cJohn Spurlockimport android.view.View; 22d08de37a2223d5183620098737eb93907a4ba92cJohn Spurlock 23d08de37a2223d5183620098737eb93907a4ba92cJohn Spurlockpublic interface RecentsComponent { 24db21bbd2caf05322864f09ec45a0c572cf071123Jorim Jaggi void showRecents(boolean triggeredFromAltTab, boolean fromHome); 25cdcd487abad10f728f0542accc42a31d1f7fedacWinson Chung void hideRecents(boolean triggeredFromAltTab, boolean triggeredFromHomeKey); 26db21bbd2caf05322864f09ec45a0c572cf071123Jorim Jaggi void toggleRecents(Display display); 271e8d71b605b4872e93200706a80a88a3ff25498cWinson Chung void preloadRecents(); 281e8d71b605b4872e93200706a80a88a3ff25498cWinson Chung void cancelPreloadingRecents(); 29b1f749906f5c27114d02ea0c3f8ce0dcea08fd3fWinson Chung void showNextAffiliatedTask(); 30b1f749906f5c27114d02ea0c3f8ce0dcea08fd3fWinson Chung void showPrevAffiliatedTask(); 3175b2597e5826662c1740d6f3b81966a9e6a9e7b4Jorim Jaggi 3275b2597e5826662c1740d6f3b81966a9e6a9e7b4Jorim Jaggi /** 3375b2597e5826662c1740d6f3b81966a9e6a9e7b4Jorim Jaggi * Docks the top-most task and opens recents. 3475b2597e5826662c1740d6f3b81966a9e6a9e7b4Jorim Jaggi */ 3529379ec859bf7118dec9f3248c63ee369218ad6bJorim Jaggi boolean dockTopTask(int dragMode, int stackCreateMode, Rect initialBounds, 3629379ec859bf7118dec9f3248c63ee369218ad6bJorim Jaggi int metricsDockAction); 37dd98d41e3a65b3bcb37007ea5b29371cf013f563Jorim Jaggi 38dd98d41e3a65b3bcb37007ea5b29371cf013f563Jorim Jaggi /** 39dd98d41e3a65b3bcb37007ea5b29371cf013f563Jorim Jaggi * Called during a drag-from-navbar-in gesture. 40dd98d41e3a65b3bcb37007ea5b29371cf013f563Jorim Jaggi * 41dd98d41e3a65b3bcb37007ea5b29371cf013f563Jorim Jaggi * @param distanceFromTop the distance of the current drag in gesture from the top of the 42dd98d41e3a65b3bcb37007ea5b29371cf013f563Jorim Jaggi * screen 43dd98d41e3a65b3bcb37007ea5b29371cf013f563Jorim Jaggi */ 44dd98d41e3a65b3bcb37007ea5b29371cf013f563Jorim Jaggi void onDraggingInRecents(float distanceFromTop); 45dd98d41e3a65b3bcb37007ea5b29371cf013f563Jorim Jaggi 46dd98d41e3a65b3bcb37007ea5b29371cf013f563Jorim Jaggi /** 47dd98d41e3a65b3bcb37007ea5b29371cf013f563Jorim Jaggi * Called when the gesture to drag in recents ended. 48dd98d41e3a65b3bcb37007ea5b29371cf013f563Jorim Jaggi * 49dd98d41e3a65b3bcb37007ea5b29371cf013f563Jorim Jaggi * @param velocity the velocity of the finger when releasing it in pixels per second 50dd98d41e3a65b3bcb37007ea5b29371cf013f563Jorim Jaggi */ 51dd98d41e3a65b3bcb37007ea5b29371cf013f563Jorim Jaggi void onDraggingInRecentsEnded(float velocity); 52d08de37a2223d5183620098737eb93907a4ba92cJohn Spurlock} 53