// Path: src/com/dexode/adapter/holder/BaseHolder.java
// public abstract class BaseHolder extends RecyclerView.ViewHolder {
// 	public BaseHolder(final View itemView) {
// 		super(itemView);
// 	}
// 
// 
// 	public abstract void setData(final RecyclerAdapter.Element element);
// }
// 
// Path: src/com/dexode/util/log/Logger.java
// public class Logger {
// 
// 	/**
// 	 * This method should be removed in release code by proguard
// 	 */
// 	public static void d(final String text, Object... args) {
// 		if (_log != null) {
// 			_log.d(text, args);
// 		}
// 	}
// 
// 	/**
// 	 * This method should be removed in release code by proguard
// 	 */
// 	public static void i(final String text, Object... args) {
// 		if (_log != null) {
// 			_log.i(text, args);
// 		}
// 	}
// 
// 	/**
// 	 * This method should be removed in release code by proguard
// 	 */
// 	public static void w(final String text, Object... args) {
// 		if (_log != null) {
// 			_log.w(text, args);
// 		}
// 	}
// 
// 	public static void e(final String text, Object... args) {
// 		if (_log != null) {
// 			_log.e(text, args);
// 		}
// 	}
// 
// 	public static void e(final Exception exception, @Nullable final String text) {
// 		if (_log != null) {
// 			_log.e(exception, text);
// 		}
// 	}
// 
// 	public static void e(final Exception exception) {
// 		if (_log != null) {
// 			_log.e(exception, null);
// 		}
// 	}
// 
// 
// 	public static void setLog(Log log) {
// 		_log = log;
// 	}
// 
// 	@Nullable
// 	private static Log _log;
// 
// 	public interface Log {
// 		/**
// 		 * This method should be removed in release code by proguard
// 		 */
// 		public void d(final String text, Object... args);
// 
// 		/**
// 		 * This method should be removed in release code by proguard
// 		 */
// 		public void i(final String text, Object... args);
// 
// 		/**
// 		 * This method should be removed in release code by proguard
// 		 */
// 		public void w(final String text, Object... args);
// 
// 		public void e(final String text, Object... args);
// 
// 		public void e(final Exception exception, @Nullable final String text);
// 	}
// }


import android.app.Activity;
import android.support.v7.widget.RecyclerView;
import android.util.SparseArray;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.dexode.adapter.holder.BaseHolder;
import com.dexode.util.log.Logger;
import java.util.ArrayList;
import java.util.List;
package com.dexode.adapter;




/**
 * Created by Dawid Drozd aka Gelldur on 16.02.16.
 */
public class RecyclerAdapter extends RecyclerView.Adapter<BaseHolder> {

	public RecyclerAdapter(final Activity activity) {
		_layoutInflater = activity.getLayoutInflater();
		_commandManager = new RecyclerAdapterCommandManager(this);
	}

	@Override
	public void onAttachedToRecyclerView(final RecyclerView recyclerView) {
		super.onAttachedToRecyclerView(recyclerView);
		_commandManager.onAttachedToRecyclerView();
	}

	@Override
	public BaseHolder onCreateViewHolder(final ViewGroup parent, final int viewType) {

		final View view = _layoutInflater.inflate(viewType, parent, false);
		final ViewHolderCreator viewHolderCreator = _holderCreators.get(viewType);
		if (viewHolderCreator == null) {
// Path: src/com/dexode/adapter/holder/BaseHolder.java
// public abstract class BaseHolder extends RecyclerView.ViewHolder {
// 	public BaseHolder(final View itemView) {
// 		super(itemView);
// 	}
// 
// 
// 	public abstract void setData(final RecyclerAdapter.Element element);
// }
// 
// Path: src/com/dexode/util/log/Logger.java
// public class Logger {
// 
// 	/**
// 	 * This method should be removed in release code by proguard
// 	 */
// 	public static void d(final String text, Object... args) {
// 		if (_log != null) {
// 			_log.d(text, args);
// 		}
// 	}
// 
// 	/**
// 	 * This method should be removed in release code by proguard
// 	 */
// 	public static void i(final String text, Object... args) {
// 		if (_log != null) {
// 			_log.i(text, args);
// 		}
// 	}
// 
// 	/**
// 	 * This method should be removed in release code by proguard
// 	 */
// 	public static void w(final String text, Object... args) {
// 		if (_log != null) {
// 			_log.w(text, args);
// 		}
// 	}
// 
// 	public static void e(final String text, Object... args) {
// 		if (_log != null) {
// 			_log.e(text, args);
// 		}
// 	}
// 
// 	public static void e(final Exception exception, @Nullable final String text) {
// 		if (_log != null) {
// 			_log.e(exception, text);
// 		}
// 	}
// 
// 	public static void e(final Exception exception) {
// 		if (_log != null) {
// 			_log.e(exception, null);
// 		}
// 	}
// 
// 
// 	public static void setLog(Log log) {
// 		_log = log;
// 	}
// 
// 	@Nullable
// 	private static Log _log;
// 
// 	public interface Log {
// 		/**
// 		 * This method should be removed in release code by proguard
// 		 */
// 		public void d(final String text, Object... args);
// 
// 		/**
// 		 * This method should be removed in release code by proguard
// 		 */
// 		public void i(final String text, Object... args);
// 
// 		/**
// 		 * This method should be removed in release code by proguard
// 		 */
// 		public void w(final String text, Object... args);
// 
// 		public void e(final String text, Object... args);
// 
// 		public void e(final Exception exception, @Nullable final String text);
// 	}
// }


// Path: src/com/dexode/adapter/RecyclerAdapter.java
import android.app.Activity;
import android.support.v7.widget.RecyclerView;
import android.util.SparseArray;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.dexode.adapter.holder.BaseHolder;
import com.dexode.util.log.Logger;
import java.util.ArrayList;
import java.util.List;

package com.dexode.adapter;




/**
 * Created by Dawid Drozd aka Gelldur on 16.02.16.
 */
public class RecyclerAdapter extends RecyclerView.Adapter<BaseHolder> {

	public RecyclerAdapter(final Activity activity) {
		_layoutInflater = activity.getLayoutInflater();
		_commandManager = new RecyclerAdapterCommandManager(this);
	}

	@Override
	public void onAttachedToRecyclerView(final RecyclerView recyclerView) {
		super.onAttachedToRecyclerView(recyclerView);
		_commandManager.onAttachedToRecyclerView();
	}

	@Override
	public BaseHolder onCreateViewHolder(final ViewGroup parent, final int viewType) {

		final View view = _layoutInflater.inflate(viewType, parent, false);
		final ViewHolderCreator viewHolderCreator = _holderCreators.get(viewType);
		if (viewHolderCreator == null) {
			Logger.e("Unknown holder creator " + viewType);