// Original from Eric Harlow
// http://ericharlow.blogspot.com/2010/10/experience-android-drag-and-drop-list.html
//
// Modifications Copyright 2011 NPR
//
// 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 org.npr.android.widget;
/**
* Implement to handle an item being dropped.
* An adapter handling the underlying data
* will most likely handle this interface.
*
* @author Eric Harlow
*/
public interface DropListener {
/**
* Called when an item is to be dropped.
*
* The <code>from</code> and <code>to</code> parameters can be thought of
* as the order that items will be listed.
*
* So for example if you have four
* records in your adapter and they have a field showing the order they
* should be listed, the from and to tell you how to change the order of
* records.
*
* If the drop command says to change 'from' 1, 'to' 3 then you would
* arrange the data like so:
*
* +------------+ +------------+
* | id | order | | id | order |
* +----+-------+ +----+-------+
* | 0 | 0 | | 0 | 0 |
* | 1 | 1 | ==> | 1 | 3 |
* | 2 | 2 | | 2 | 1 |
* | 3 | 3 | | 3 | 2 |
* +----+-------+ +----+-------+
*
* @param from - index item started at in the original list.
* @param to - index the item should be at in the final list.
*/
void onDrop(int from, int to);
}