// Path: MyApplication/app/src/main/java/com/example/mikhail_sianko/myapplication/adapter/AbstractAdapter.java
// public abstract class AbstractAdapter<Item> extends RecyclerView.Adapter<AbstractAdapter.AbstractViewHolder> {
// 
//     public abstract void onBind(AbstractViewHolder holder, Item item, int position, int viewType);
// 
//     public abstract Item getItem(int positoin);
// 
//     @Override
//     public void onBindViewHolder(final AbstractViewHolder holder, final int position) {
//         onBind(holder, getItem(position), position, getItemViewType(position));
//     }
// 
//     public static class AbstractViewHolder extends RecyclerView.ViewHolder {
// 
//         private SparseArrayCompat<View> mViewSparseArray;
// 
//         public AbstractViewHolder(final View itemView, final int... ids) {
//             super(itemView);
// 
//             mViewSparseArray = new SparseArrayCompat<>(ids.length);
// 
//             for (final int id : ids) {
//                 mViewSparseArray.append(id, itemView.findViewById(id));
//             }
//         }
// 
//         public <T> T get(final int id) {
//             View view = mViewSparseArray.get(id);
//             if (view == null) {
//                 view = itemView.findViewById(id);
//             }
//             return (T) view;
//         }
// 
//     }
// 
// }
// 
// Path: MyApplication/app/src/main/java/com/example/mikhail_sianko/myapplication/http/HttpClientFactory.java
// public class HttpClientFactory {
// 
//     public static enum Type {
// 
//         HTTP_PURE, OK_HTTP;
// 
//     }
// 
//     @Nullable
//     public static IHttpClient get(final Type pType) {
//         if (pType == Type.HTTP_PURE) {
//             return new HttpClientAbstraction();
//         } else if (pType == Type.OK_HTTP) {
//             return new OkHttpClient();
//         } else {
//             return null;
//         }
//     }
// 
//     public static IHttpClient getDefault() {
//         return get(Type.HTTP_PURE);
//     }
// 
// }
// 
// Path: MyApplication/app/src/main/java/com/example/mikhail_sianko/myapplication/http/IHttpClient.java
// public interface IHttpClient {
// 
//     InputStream get(IRequest pRequest);
// 
//     InputStream post(IRequest pRequest);
// 
//     interface IRequest {
// 
//     }
// 
// }
// 
// Path: MyApplication/app/src/main/java/com/example/mikhail_sianko/myapplication/model/House.java
// public class House {
// 
//     private String doors;
//     private String title;
//     private int size;
// 
//     private House(final String pDoors, final String pTitle, final int pSize) {
//         doors = pDoors;
//         title = pTitle;
//         size = pSize;
//     }
// 
//     public String getDoors() {
//         return doors;
//     }
// 
//     public String getTitle() {
//         return title;
//     }
// 
//     public int getSize() {
//         return size;
//     }
// 
//     private House() {
// 
//     }
// 
//     public static class Builder {
// 
//         private String doors;
//         private String title;
//         private int size;
// 
//         public Builder setDoors(final String doors) {
//             this.doors = doors;
// 
//             return this;
//         }
// 
//         public Builder setTitle(final String title) {
//             this.title = title;
// 
//             return this;
//         }
// 
//         public Builder setSize(final int size) {
//             this.size = size;
// 
//             return this;
//         }
// 
//         public House build() {
//             return new House(doors, title, size);
//         }
// 
//     }
// 
// }
// 
// Path: MyApplication/app/src/main/java/com/example/mikhail_sianko/myapplication/utils/ContextHolder.java
// public enum ContextHolder {
// 
//     INSTANCE;
// 
//     private Context mContext;
// 
//     public Context getContext() {
//         return mContext;
//     }
// 
//     public void setContext(final Context pContext) {
//         mContext = pContext;
//     }
// 
//     public static Context get() {
//         return INSTANCE.mContext;
//     }
// 
//     public static void set(final Context pContext) {
//         INSTANCE.mContext = pContext;
//     }
// 
// }


import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.view.LayoutInflater;
import android.view.ViewGroup;
import android.widget.TextView;
import com.example.mikhail_sianko.myapplication.R;
import com.example.mikhail_sianko.myapplication.adapter.AbstractAdapter;
import com.example.mikhail_sianko.myapplication.http.HttpClientFactory;
import com.example.mikhail_sianko.myapplication.http.IHttpClient;
import com.example.mikhail_sianko.myapplication.model.House;
import com.example.mikhail_sianko.myapplication.utils.ContextHolder;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
package com.example.mikhail_sianko.myapplication.examples;




public class SecondActivity extends AppCompatActivity {

    @Override
    protected void onCreate(@Nullable final Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        final House house = new House.Builder()
                .setTitle("")
                .setDoors("")
                .setSize(0)
                .build();

        final List<House> houses = new ArrayList<>();
        houses.add(house);

// Path: MyApplication/app/src/main/java/com/example/mikhail_sianko/myapplication/adapter/AbstractAdapter.java
// public abstract class AbstractAdapter<Item> extends RecyclerView.Adapter<AbstractAdapter.AbstractViewHolder> {
// 
//     public abstract void onBind(AbstractViewHolder holder, Item item, int position, int viewType);
// 
//     public abstract Item getItem(int positoin);
// 
//     @Override
//     public void onBindViewHolder(final AbstractViewHolder holder, final int position) {
//         onBind(holder, getItem(position), position, getItemViewType(position));
//     }
// 
//     public static class AbstractViewHolder extends RecyclerView.ViewHolder {
// 
//         private SparseArrayCompat<View> mViewSparseArray;
// 
//         public AbstractViewHolder(final View itemView, final int... ids) {
//             super(itemView);
// 
//             mViewSparseArray = new SparseArrayCompat<>(ids.length);
// 
//             for (final int id : ids) {
//                 mViewSparseArray.append(id, itemView.findViewById(id));
//             }
//         }
// 
//         public <T> T get(final int id) {
//             View view = mViewSparseArray.get(id);
//             if (view == null) {
//                 view = itemView.findViewById(id);
//             }
//             return (T) view;
//         }
// 
//     }
// 
// }
// 
// Path: MyApplication/app/src/main/java/com/example/mikhail_sianko/myapplication/http/HttpClientFactory.java
// public class HttpClientFactory {
// 
//     public static enum Type {
// 
//         HTTP_PURE, OK_HTTP;
// 
//     }
// 
//     @Nullable
//     public static IHttpClient get(final Type pType) {
//         if (pType == Type.HTTP_PURE) {
//             return new HttpClientAbstraction();
//         } else if (pType == Type.OK_HTTP) {
//             return new OkHttpClient();
//         } else {
//             return null;
//         }
//     }
// 
//     public static IHttpClient getDefault() {
//         return get(Type.HTTP_PURE);
//     }
// 
// }
// 
// Path: MyApplication/app/src/main/java/com/example/mikhail_sianko/myapplication/http/IHttpClient.java
// public interface IHttpClient {
// 
//     InputStream get(IRequest pRequest);
// 
//     InputStream post(IRequest pRequest);
// 
//     interface IRequest {
// 
//     }
// 
// }
// 
// Path: MyApplication/app/src/main/java/com/example/mikhail_sianko/myapplication/model/House.java
// public class House {
// 
//     private String doors;
//     private String title;
//     private int size;
// 
//     private House(final String pDoors, final String pTitle, final int pSize) {
//         doors = pDoors;
//         title = pTitle;
//         size = pSize;
//     }
// 
//     public String getDoors() {
//         return doors;
//     }
// 
//     public String getTitle() {
//         return title;
//     }
// 
//     public int getSize() {
//         return size;
//     }
// 
//     private House() {
// 
//     }
// 
//     public static class Builder {
// 
//         private String doors;
//         private String title;
//         private int size;
// 
//         public Builder setDoors(final String doors) {
//             this.doors = doors;
// 
//             return this;
//         }
// 
//         public Builder setTitle(final String title) {
//             this.title = title;
// 
//             return this;
//         }
// 
//         public Builder setSize(final int size) {
//             this.size = size;
// 
//             return this;
//         }
// 
//         public House build() {
//             return new House(doors, title, size);
//         }
// 
//     }
// 
// }
// 
// Path: MyApplication/app/src/main/java/com/example/mikhail_sianko/myapplication/utils/ContextHolder.java
// public enum ContextHolder {
// 
//     INSTANCE;
// 
//     private Context mContext;
// 
//     public Context getContext() {
//         return mContext;
//     }
// 
//     public void setContext(final Context pContext) {
//         mContext = pContext;
//     }
// 
//     public static Context get() {
//         return INSTANCE.mContext;
//     }
// 
//     public static void set(final Context pContext) {
//         INSTANCE.mContext = pContext;
//     }
// 
// }


// Path: MyApplication/app/src/main/java/com/example/mikhail_sianko/myapplication/examples/SecondActivity.java
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.view.LayoutInflater;
import android.view.ViewGroup;
import android.widget.TextView;
import com.example.mikhail_sianko.myapplication.R;
import com.example.mikhail_sianko.myapplication.adapter.AbstractAdapter;
import com.example.mikhail_sianko.myapplication.http.HttpClientFactory;
import com.example.mikhail_sianko.myapplication.http.IHttpClient;
import com.example.mikhail_sianko.myapplication.model.House;
import com.example.mikhail_sianko.myapplication.utils.ContextHolder;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;

package com.example.mikhail_sianko.myapplication.examples;




public class SecondActivity extends AppCompatActivity {

    @Override
    protected void onCreate(@Nullable final Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        final House house = new House.Builder()
                .setTitle("")
                .setDoors("")
                .setSize(0)
                .build();

        final List<House> houses = new ArrayList<>();
        houses.add(house);

        final AbstractAdapter<House> adapter = new AbstractAdapter<House>() {