// 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.content.Context;
import android.util.AttributeSet;
import android.view.View;
import com.yarolegovich.mp.io.StorageModule;
package com.yarolegovich.mp;



/**
 * Created by yarolegovich on 01.05.2016.
 */
public class MaterialEditTextPreference extends AbsMaterialTextValuePreference<String> {

    public MaterialEditTextPreference(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    public MaterialEditTextPreference(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
    }

    public MaterialEditTextPreference(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
        super(context, attrs, defStyleAttr, defStyleRes);
    }

    @Override
    public String getValue() {
        return storageModule.getString(key, defaultValue);
    }

    @Override
    public void setValue(String value) {
        storageModule.saveString(key, value);
        showNewValueIfNeeded(value);
    }

    @Override
// 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/MaterialEditTextPreference.java
import android.content.Context;
import android.util.AttributeSet;
import android.view.View;
import com.yarolegovich.mp.io.StorageModule;

package com.yarolegovich.mp;



/**
 * Created by yarolegovich on 01.05.2016.
 */
public class MaterialEditTextPreference extends AbsMaterialTextValuePreference<String> {

    public MaterialEditTextPreference(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    public MaterialEditTextPreference(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
    }

    public MaterialEditTextPreference(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
        super(context, attrs, defStyleAttr, defStyleRes);
    }

    @Override
    public String getValue() {
        return storageModule.getString(key, defaultValue);
    }

    @Override
    public void setValue(String value) {
        storageModule.saveString(key, value);
        showNewValueIfNeeded(value);
    }

    @Override
    public void setStorageModule(StorageModule storageModule) {