// Path: library/src/main/java/com/yarolegovich/mp/io/UserInputModule.java
// public interface UserInputModule {
// 
//     void showEditTextInput(
//             String key,
//             CharSequence title,
//             CharSequence defaultValue,
//             Listener<String> listener);
// 
//     void showSingleChoiceInput(
//             String key,
//             CharSequence title,
//             CharSequence[] displayItems,
//             CharSequence[] values,
//             int selected,
//             Listener<String> listener);
// 
//     void showMultiChoiceInput(
//             String key,
//             CharSequence title,
//             CharSequence[] displayItems,
//             CharSequence[] values,
//             boolean[] defaultSelection,
//             Listener<Set<String>> listener);
// 
//     void showColorSelectionInput(
//             String key,
//             CharSequence title,
//             int defaultColor,
//             Listener<Integer> color);
// 
//     interface Factory {
//         UserInputModule create(Context context);
//     }
// 
//     interface Listener<T> {
//         void onInput(T value);
//     }
// }
// 
// Path: library/src/main/java/com/yarolegovich/mp/io/StorageModule.java
// public interface StorageModule {
// 
//     void saveBoolean(String key, boolean value);
// 
//     void saveString(String key, String value);
// 
//     void saveInt(String key, int value);
// 
//     void saveStringSet(String key, Set<String> value);
// 
//     boolean getBoolean(String key, boolean defaultVal);
// 
//     String getString(String key, String defaultVal);
// 
//     int getInt(String key, int defaultVal);
// 
//     Set<String> getStringSet(String key, Set<String> defaultVal);
// 
//     void onSaveInstanceState(Bundle outState);
// 
//     void onRestoreInstanceState(Bundle savedState);
// 
//     interface Factory {
//         StorageModule create(Context context);
//     }
// }


import android.annotation.TargetApi;
import android.content.Context;
import android.os.Build;
import android.util.AttributeSet;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewParent;
import android.widget.LinearLayout;
import android.widget.ScrollView;
import com.yarolegovich.mp.io.UserInputModule;
import com.yarolegovich.mp.io.StorageModule;
import java.util.Collection;
import java.util.List;
package com.yarolegovich.mp;




/**
 * Created by yarolegovich on 01.05.2016.
 */
public class MaterialPreferenceScreen extends ScrollView {

    private LinearLayout container;

    private UserInputModule userInputModule;
    private StorageModule storageModule;

    public MaterialPreferenceScreen(Context context) {
        super(context);
    }

    public MaterialPreferenceScreen(Context context, AttributeSet attrs) {
// Path: library/src/main/java/com/yarolegovich/mp/io/UserInputModule.java
// public interface UserInputModule {
// 
//     void showEditTextInput(
//             String key,
//             CharSequence title,
//             CharSequence defaultValue,
//             Listener<String> listener);
// 
//     void showSingleChoiceInput(
//             String key,
//             CharSequence title,
//             CharSequence[] displayItems,
//             CharSequence[] values,
//             int selected,
//             Listener<String> listener);
// 
//     void showMultiChoiceInput(
//             String key,
//             CharSequence title,
//             CharSequence[] displayItems,
//             CharSequence[] values,
//             boolean[] defaultSelection,
//             Listener<Set<String>> listener);
// 
//     void showColorSelectionInput(
//             String key,
//             CharSequence title,
//             int defaultColor,
//             Listener<Integer> color);
// 
//     interface Factory {
//         UserInputModule create(Context context);
//     }
// 
//     interface Listener<T> {
//         void onInput(T value);
//     }
// }
// 
// Path: library/src/main/java/com/yarolegovich/mp/io/StorageModule.java
// public interface StorageModule {
// 
//     void saveBoolean(String key, boolean value);
// 
//     void saveString(String key, String value);
// 
//     void saveInt(String key, int value);
// 
//     void saveStringSet(String key, Set<String> value);
// 
//     boolean getBoolean(String key, boolean defaultVal);
// 
//     String getString(String key, String defaultVal);
// 
//     int getInt(String key, int defaultVal);
// 
//     Set<String> getStringSet(String key, Set<String> defaultVal);
// 
//     void onSaveInstanceState(Bundle outState);
// 
//     void onRestoreInstanceState(Bundle savedState);
// 
//     interface Factory {
//         StorageModule create(Context context);
//     }
// }


// Path: library/src/main/java/com/yarolegovich/mp/MaterialPreferenceScreen.java
import android.annotation.TargetApi;
import android.content.Context;
import android.os.Build;
import android.util.AttributeSet;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewParent;
import android.widget.LinearLayout;
import android.widget.ScrollView;
import com.yarolegovich.mp.io.UserInputModule;
import com.yarolegovich.mp.io.StorageModule;
import java.util.Collection;
import java.util.List;

package com.yarolegovich.mp;




/**
 * Created by yarolegovich on 01.05.2016.
 */
public class MaterialPreferenceScreen extends ScrollView {

    private LinearLayout container;

    private UserInputModule userInputModule;
    private StorageModule storageModule;

    public MaterialPreferenceScreen(Context context) {
        super(context);
    }

    public MaterialPreferenceScreen(Context context, AttributeSet attrs) {
        super(context, attrs);