1ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian/* 2ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian * Copyright (C) 2016 The Android Open Source Project 3ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian * 4ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian * Licensed under the Apache License, Version 2.0 (the "License"); 5ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian * you may not use this file except in compliance with the License. 6ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian * You may obtain a copy of the License at 7ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian * 8ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian * http://www.apache.org/licenses/LICENSE-2.0 9ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian * 10ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian * Unless required by applicable law or agreed to in writing, software 11ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian * distributed under the License is distributed on an "AS IS" BASIS, 12ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian * See the License for the specific language governing permissions and 14ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian * limitations under the License. 15ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian */ 16ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian 17ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanianpackage com.android.dialer.app.list; 18ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian 19ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian/** 20ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian * Classes that want to receive callbacks in response to drag events should implement this 21ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian * interface. 22ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian */ 23ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanianpublic interface OnDragDropListener { 24ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian 25ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian /** 26ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian * Called when a drag is started. 27ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian * 28ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian * @param x X-coordinate of the drag event 29ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian * @param y Y-coordinate of the drag event 30ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian * @param view The contact tile which the drag was started on 31ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian */ 32ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian void onDragStarted(int x, int y, PhoneFavoriteSquareTileView view); 33ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian 34ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian /** 35ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian * Called when a drag is in progress and the user moves the dragged contact to a location. 36ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian * 37ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian * @param x X-coordinate of the drag event 38ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian * @param y Y-coordinate of the drag event 39ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian * @param view Contact tile in the ListView which is currently being displaced by the dragged 40ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian * contact 41ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian */ 42ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian void onDragHovered(int x, int y, PhoneFavoriteSquareTileView view); 43ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian 44ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian /** 45ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian * Called when a drag is completed (whether by dropping it somewhere or simply by dragging the 46ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian * contact off the screen) 47ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian * 48ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian * @param x X-coordinate of the drag event 49ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian * @param y Y-coordinate of the drag event 50ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian */ 51ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian void onDragFinished(int x, int y); 52ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian 53ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian /** 54ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian * Called when a contact has been dropped on the remove view, indicating that the user wants to 55ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian * remove this contact. 56ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian */ 57ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian void onDroppedOnRemove(); 58ccca31529c07970e89419fb85a9e8153a5396838Eric Erfanian} 59