// Path: LoopBar-widget/src/main/java/com/cleveroad/loopbar/adapter/IOperationItem.java
// public interface IOperationItem {
// 
//     boolean isVisible();
// 
//     void setVisible(boolean isVisible);
// }
// 
// Path: LoopBar-widget/src/main/java/com/cleveroad/loopbar/adapter/OperationItem.java
// public class OperationItem implements IOperationItem {
// 
//     private boolean isVisible = true;
// 
//     @Override
//     public boolean isVisible() {
//         return isVisible;
//     }
// 
//     public void setVisible(boolean visible) {
//         isVisible = visible;
//     }
// }


import android.annotation.SuppressLint;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
import com.cleveroad.loopbar.R;
import com.cleveroad.loopbar.adapter.IOperationItem;
import com.cleveroad.loopbar.adapter.OperationItem;
import java.lang.ref.WeakReference;
import java.util.Collection;
import java.util.HashMap;
import static android.view.ViewGroup.LayoutParams.MATCH_PARENT;
package com.cleveroad.loopbar.widget;






class CategoriesAdapter extends RecyclerView.Adapter<BaseRecyclerViewHolder<IOperationItem>>
        implements OnItemClickListener {

    static final int VIEW_TYPE_OTHER = 0;
    private static final int VIEW_TYPE_RESERVED_HIDDEN = -1;
    @Orientation
    private int mOrientation = Orientation.ORIENTATION_VERTICAL_LEFT;

    private RecyclerView.Adapter<? extends RecyclerView.ViewHolder> mInputAdapter;

    @SuppressLint("UseSparseArrays")
    private HashMap<Integer, IOperationItem> mWrappedItems = new HashMap<>();
    private WeakReference<OnItemClickListener> mListener;
    private boolean mIsIndeterminate = true;

    CategoriesAdapter(RecyclerView.Adapter<? extends RecyclerView.ViewHolder> inputAdapter) {
        mInputAdapter = inputAdapter;
        for (int i = 0; i < inputAdapter.getItemCount(); i++) {
// Path: LoopBar-widget/src/main/java/com/cleveroad/loopbar/adapter/IOperationItem.java
// public interface IOperationItem {
// 
//     boolean isVisible();
// 
//     void setVisible(boolean isVisible);
// }
// 
// Path: LoopBar-widget/src/main/java/com/cleveroad/loopbar/adapter/OperationItem.java
// public class OperationItem implements IOperationItem {
// 
//     private boolean isVisible = true;
// 
//     @Override
//     public boolean isVisible() {
//         return isVisible;
//     }
// 
//     public void setVisible(boolean visible) {
//         isVisible = visible;
//     }
// }


// Path: LoopBar-widget/src/main/java/com/cleveroad/loopbar/widget/CategoriesAdapter.java
import android.annotation.SuppressLint;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
import com.cleveroad.loopbar.R;
import com.cleveroad.loopbar.adapter.IOperationItem;
import com.cleveroad.loopbar.adapter.OperationItem;
import java.lang.ref.WeakReference;
import java.util.Collection;
import java.util.HashMap;
import static android.view.ViewGroup.LayoutParams.MATCH_PARENT;

package com.cleveroad.loopbar.widget;






class CategoriesAdapter extends RecyclerView.Adapter<BaseRecyclerViewHolder<IOperationItem>>
        implements OnItemClickListener {

    static final int VIEW_TYPE_OTHER = 0;
    private static final int VIEW_TYPE_RESERVED_HIDDEN = -1;
    @Orientation
    private int mOrientation = Orientation.ORIENTATION_VERTICAL_LEFT;

    private RecyclerView.Adapter<? extends RecyclerView.ViewHolder> mInputAdapter;

    @SuppressLint("UseSparseArrays")
    private HashMap<Integer, IOperationItem> mWrappedItems = new HashMap<>();
    private WeakReference<OnItemClickListener> mListener;
    private boolean mIsIndeterminate = true;

    CategoriesAdapter(RecyclerView.Adapter<? extends RecyclerView.ViewHolder> inputAdapter) {
        mInputAdapter = inputAdapter;
        for (int i = 0; i < inputAdapter.getItemCount(); i++) {
            mWrappedItems.put(i, new OperationItem());