Android Open Source - HydraListAndroid Dragable Adapter Helper






From Project

Back to project page HydraListAndroid.

License

The source code is released under:

Apache License

If you think the Android project HydraListAndroid listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.fada21.android.hydralist.dragable;
/*  ww  w .j a v  a2s  . c om*/
import static com.fada21.android.hydralist.util.HydraListConsts.UNSET;
import android.content.Context;

import com.fada21.android.hydralist.data.HydraListDataProvider;
import com.fada21.android.hydralist.dragable.interfaces.DragableListItem;
import com.fada21.android.hydralist.dragable.interfaces.OnItemMovedListener;
import com.fada21.android.hydralist.dragable.interfaces.Swappable;
import com.fada21.android.hydralist.helper.HydraListAdapterHelper;

public class DragableAdapterHelper<T extends DragableListItem> extends HydraListAdapterHelper<T> {

  private final int dragableTouchResId;
  private final int allowedRangeStartPosition;
  private final int allowedRangeEndPosition;

    private OnItemMovedListener onItemMovedListener;

  public DragableAdapterHelper(Context context) {
    super(context);
    dragableTouchResId = UNSET;
    this.allowedRangeStartPosition = UNSET;
    this.allowedRangeEndPosition = UNSET;
  }

  public DragableAdapterHelper(Context context, int dragableTouchResId) {
    super(context);
    this.dragableTouchResId = dragableTouchResId;
    this.allowedRangeStartPosition = UNSET;
    this.allowedRangeEndPosition = UNSET;
  }

  //    public DragableAdapterHelper(Context context, int allowedRangeStartPosition) {
  //        super(context);
  //        this.allowedRangeStartPosition = allowedRangeStartPosition;
  //        this.allowedRangeEndPosition = UNSET;
  //    }
  //
  //    public DragableAdapterHelper(Context context, int allowedRangeStartPosition, int allowedRangeEndPosition) {
  //        super(context);
  //        this.allowedRangeStartPosition = allowedRangeStartPosition;
  //        this.allowedRangeEndPosition = allowedRangeEndPosition;
  //    }
  //
  //    public int getAllowedRangeStartPosition() {
  //        return allowedRangeStartPosition;
  //    }
  //
  //    public int getAllowedRangeEndPosition() {
  //        return allowedRangeEndPosition;
  //    }

  @Override
  public void ensureCompliance(HydraListDataProvider<T> dataProvider) throws IllegalStateException {
    if (allowedRangeStartPosition < UNSET) {
      throw new IllegalStateException("Defined allowedRangeStartPosition must be nonnegative");
    } else if (allowedRangeEndPosition < allowedRangeStartPosition) {
      throw new IllegalStateException("Defined allowedRangeStartPosition must be greater than allowedRangeEndPosition");
    }

    if (!(dataProvider instanceof Swappable)) {
      throw new IllegalStateException("Data provider must implement Swapable interface!");
    }
    
    if (! DragableListItem.class.isAssignableFrom(dataProvider.getHydraListItemType())) {
      throw new IllegalStateException("Data provider items must implement Dragable interface!");
    }
  }

  public int getDragableTouchResId() {
    return dragableTouchResId;
  }

    public void setOnItemMovedListener(OnItemMovedListener onItemMovedListener) {
        this.onItemMovedListener = onItemMovedListener;
    }

    public OnItemMovedListener getOnItemMovedListener() {
        return onItemMovedListener;
    }
}




Java Source Code List

com.fada21.android.hydralist.HydraListAdapter.java
com.fada21.android.hydralist.HydraListView.java
com.fada21.android.hydralist.data.HydraListDataProvider.java
com.fada21.android.hydralist.data.HydraListItem.java
com.fada21.android.hydralist.data.ListDataProvider.java
com.fada21.android.hydralist.dragable.DragableAdapterHelper.java
com.fada21.android.hydralist.dragable.DragableConsts.java
com.fada21.android.hydralist.dragable.DragableListViewDelegate.java
com.fada21.android.hydralist.dragable.interfaces.DragableListItem.java
com.fada21.android.hydralist.dragable.interfaces.OnItemMovedListener.java
com.fada21.android.hydralist.dragable.interfaces.Swappable.java
com.fada21.android.hydralist.expandable.BasicExpandableListItem.java
com.fada21.android.hydralist.expandable.ExpandableViewHolder.java
com.fada21.android.hydralist.expandable.ExpandingAdapterHelper.java
com.fada21.android.hydralist.expandable.ExpandingLayout.java
com.fada21.android.hydralist.expandable.ExpandingListViewDelegate.java
com.fada21.android.hydralist.expandable.interfaces.ExpandableListItem.java
com.fada21.android.hydralist.expandable.interfaces.OnSizeChangedListener.java
com.fada21.android.hydralist.helper.HydraListAdapterHelper.java
com.fada21.android.hydralist.helper.HydraListViewHolder.java
com.fada21.android.hydralist.helper.PlainAdapterHelper.java
com.fada21.android.hydralist.sample.CustomExpandingAdapterHelper.java
com.fada21.android.hydralist.sample.SampleConsts.java
com.fada21.android.hydralist.sample.SampleContents.java
com.fada21.android.hydralist.sample.SampleDataProvider.java
com.fada21.android.hydralist.sample.SampleHydraListActivity.java
com.fada21.android.hydralist.sample.SampleListItem.java
com.fada21.android.hydralist.sample.SamplePlainAdapterHelper.java
com.fada21.android.hydralist.sample.SampleViewHolder.java
com.fada21.android.hydralist.util.HydraListConsts.java
com.fada21.android.hydralist.util.HydraListUtils.java
com.fada21.android.hydralist.util.PublicListView.java