// Path: phial-key-value/src/main/java/com/mindcoders/phial/keyvalue/Phial.java
// public class Phial {
//     private static final List<Saver> SAVERS = new CopyOnWriteArrayList<>();
//     private static final String DEFAULT_CATEGORY_NAME = "Default";
//     private static final Category DEFAULT_CATEGORY = new Category(DEFAULT_CATEGORY_NAME, SAVERS);
//     private static final ConcurrentMap<String, Category> CATEGORIES = new ConcurrentHashMap<>();
// 
//     static {
//         CATEGORIES.put(DEFAULT_CATEGORY_NAME, DEFAULT_CATEGORY);
//     }
// 
//     /**
//      * Sets a value to be associated with your debug data.
//      * Entry will be set under default category.
//      * <p>
//      * Note: setKey(key, null) will set associated value to null. In order to remove entry use {@link Phial#removeKey(String)}
//      *
//      * @param key   of the debug data
//      * @param value associated value
//      */
//     public static void setKey(String key, String value) {
//         DEFAULT_CATEGORY.setKey(key, value);
//     }
// 
//     /**
//      * Sets a value to be associated with your debug data.
//      * Entry will be set under default category.
//      * <p>
//      * Note: setKey(key, null) will set associated value to null. In order to remove entry use {@link Phial#removeKey(String)}
//      *
//      * @param key   of the debug data
//      * @param value associated value
//      */
//     public static void setKey(@NonNull String key, @Nullable Object value) {
//         DEFAULT_CATEGORY.setKey(key, value);
//     }
// 
// 
//     /**
//      * Removes entry with given key from debug data.
//      * <p>
//      * Note: Entry would be removed only from default category.
//      *
//      * @param key to be removed.
//      */
//     public static void removeKey(String key) {
//         DEFAULT_CATEGORY.removeKey(key);
//     }
// 
//     /**
//      * Creates category that can be used for adding key values
//      */
//     public static Category category(String name) {
//         CATEGORIES.putIfAbsent(name, new Category(name, SAVERS));
//         return CATEGORIES.get(name);
//     }
// 
//     /**
//      * Removes category and associated keys.
//      */
//     public static void removeCategory(String name) {
//         Category category = CATEGORIES.remove(name);
//         category.clear();
//     }
// 
//     /**
//      * Add a new saver.
//      */
//     public static void addSaver(Saver saver) {
//         SAVERS.add(saver);
//     }
// 
// 
//     /**
//      * Remove previously added saver
//      */
//     public static void removeSaver(Saver saver) {
//         SAVERS.remove(saver);
//     }
// 
//     @VisibleForTesting
//     static void cleanSavers() {
//         SAVERS.clear();
//     }
// }


import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.view.KeyEvent;
import android.view.View;
import android.view.inputmethod.EditorInfo;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import com.mindcoders.phial.keyvalue.Phial;
package com.mindcoders.phial.sample;



/**
 * Created by rost on 11/8/17.
 */

public class AutoFillActivity extends AppCompatActivity {

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
// Path: phial-key-value/src/main/java/com/mindcoders/phial/keyvalue/Phial.java
// public class Phial {
//     private static final List<Saver> SAVERS = new CopyOnWriteArrayList<>();
//     private static final String DEFAULT_CATEGORY_NAME = "Default";
//     private static final Category DEFAULT_CATEGORY = new Category(DEFAULT_CATEGORY_NAME, SAVERS);
//     private static final ConcurrentMap<String, Category> CATEGORIES = new ConcurrentHashMap<>();
// 
//     static {
//         CATEGORIES.put(DEFAULT_CATEGORY_NAME, DEFAULT_CATEGORY);
//     }
// 
//     /**
//      * Sets a value to be associated with your debug data.
//      * Entry will be set under default category.
//      * <p>
//      * Note: setKey(key, null) will set associated value to null. In order to remove entry use {@link Phial#removeKey(String)}
//      *
//      * @param key   of the debug data
//      * @param value associated value
//      */
//     public static void setKey(String key, String value) {
//         DEFAULT_CATEGORY.setKey(key, value);
//     }
// 
//     /**
//      * Sets a value to be associated with your debug data.
//      * Entry will be set under default category.
//      * <p>
//      * Note: setKey(key, null) will set associated value to null. In order to remove entry use {@link Phial#removeKey(String)}
//      *
//      * @param key   of the debug data
//      * @param value associated value
//      */
//     public static void setKey(@NonNull String key, @Nullable Object value) {
//         DEFAULT_CATEGORY.setKey(key, value);
//     }
// 
// 
//     /**
//      * Removes entry with given key from debug data.
//      * <p>
//      * Note: Entry would be removed only from default category.
//      *
//      * @param key to be removed.
//      */
//     public static void removeKey(String key) {
//         DEFAULT_CATEGORY.removeKey(key);
//     }
// 
//     /**
//      * Creates category that can be used for adding key values
//      */
//     public static Category category(String name) {
//         CATEGORIES.putIfAbsent(name, new Category(name, SAVERS));
//         return CATEGORIES.get(name);
//     }
// 
//     /**
//      * Removes category and associated keys.
//      */
//     public static void removeCategory(String name) {
//         Category category = CATEGORIES.remove(name);
//         category.clear();
//     }
// 
//     /**
//      * Add a new saver.
//      */
//     public static void addSaver(Saver saver) {
//         SAVERS.add(saver);
//     }
// 
// 
//     /**
//      * Remove previously added saver
//      */
//     public static void removeSaver(Saver saver) {
//         SAVERS.remove(saver);
//     }
// 
//     @VisibleForTesting
//     static void cleanSavers() {
//         SAVERS.clear();
//     }
// }


// Path: sample/src/main/java/com/mindcoders/phial/sample/AutoFillActivity.java
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.view.KeyEvent;
import android.view.View;
import android.view.inputmethod.EditorInfo;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import com.mindcoders.phial.keyvalue.Phial;

package com.mindcoders.phial.sample;



/**
 * Created by rost on 11/8/17.
 */

public class AutoFillActivity extends AppCompatActivity {

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        Phial.setKey("currentActivity", getClass().getSimpleName());