package com.jpardogo.listbuddies.lib.adapters;

import android.widget.BaseAdapter;

/**
 * Adapter that allows the list to loop over the same items again and again creating a loop.
 */
public abstract class CircularLoopAdapter extends BaseAdapter {
    private static final String TAG = CircularLoopAdapter.class.getSimpleName();

    /**
     * In getCount(), if we return Integer.MAX_VALUE, it will give you about 2 billion items,
     * which should be enough to look like infinite.
     * <p/>
     * We can see the answer to the question on here where Romain Guy confirm this solution:
     * <p/>
     * http://stackoverflow.com/questions/2332847/how-to-create-a-closed-circular-listview
     */
    @Override
    public int getCount() {
        //if you don't do that and the adapter has nothing yet,you will get exception.
        if (getCircularCount()==0) return 0;
        return Integer.MAX_VALUE;
    }

    protected abstract int getCircularCount();

    /**
     * Gets the position that correspond to the position in the amount of items we actually have
     *
     * @param position - position of the item in the list
     * @return - position that we actually wanna take from our list
     */
    public int getCircularPosition(int position) {
        //if you don't do that,you will get diver by zero exception.
        if (getCircularCount()==0) return 0;
        return position % getCircularCount();
    }

    @Override
    public long getItemId(int position) {
        return position;
    }

}

@@ -741,95 +741,8 @@
 ) %7B%0A
-        //if you don't do that and the adapter has nothing yet,you will get exception.%0A
     
@@ -759,34 +759,36 @@
 tCircularCount()
+ 
 ==
+ 
 0) return 0;%0A   
@@ -1174,77 +1174,8 @@
 ) %7B%0A
-        //if you don't do that,you will get diver by zero exception.%0A
     
@@ -1200,18 +1200,20 @@
 rCount()
+ 
 ==
+ 
 0) retur

Remove unnecessary comments