// Path: material-life-android/src/main/java/com/juankysoriano/materiallife/menu/MenuItem.java
// public enum MenuItem {
//     EDIT_WORLD("Edit World"),
//     LOAD_WORLD("Load World"),
//     INFO("Info");
// 
//     private final String value;
// 
//     MenuItem(String value) {
//         this.value = value;
//     }
// 
//     public String value() {
//         return value;
//     }
// }
// 
// Path: material-life-android/src/main/java/com/juankysoriano/materiallife/ui/sketch/reveal/ViewRevealer.java
// public class ViewRevealer {
//     private static final int ANIMATION_DURATION = 300;
// 
//     public void revealFrom(Point point, View view, AnimatorListenerAdapter animatorListenerAdapter) {
//         int targetRadius = ViewMeasurer.getRadiusFrom(point, view);
//         int startRadius = 0;
// 
//         animateFor(view, point, startRadius, targetRadius, animatorListenerAdapter);
//     }
// 
//     public void concealFrom(Point point, View view, AnimatorListenerAdapter animatorListenerAdapter) {
//         int startRadius = ViewMeasurer.getRadiusFrom(point, view);
//         int targetRadius = 0;
// 
//         animateFor(view, point, startRadius, targetRadius, animatorListenerAdapter);
//     }
// 
//     private void animateFor(View view, Point origin, int startRadius, int targetRadius, final AnimatorListenerAdapter animatorListenerAdapter) {
//         SupportAnimator animator = ViewAnimationUtils.createCircularReveal(view, origin.x, origin.y, startRadius, targetRadius);
//         animator.addListener(new SupportAnimator.AnimatorListener() {
//             @Override
//             public void onAnimationStart() {
//                 animatorListenerAdapter.onAnimationStart(null);
//             }
// 
//             @Override
//             public void onAnimationEnd() {
//                 animatorListenerAdapter.onAnimationEnd(null);
//             }
// 
//             @Override
//             public void onAnimationCancel() {
//                 animatorListenerAdapter.onAnimationCancel(null);
//             }
// 
//             @Override
//             public void onAnimationRepeat() {
//                 animatorListenerAdapter.onAnimationRepeat(null);
//             }
//         });
//         animator.setDuration(ANIMATION_DURATION);
//         animator.start();
//     }
// }


import android.animation.Animator;
import android.animation.AnimatorListenerAdapter;
import android.content.Context;
import android.graphics.Point;
import android.util.AttributeSet;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;
import com.juankysoriano.materiallife.menu.MenuItem;
import com.juankysoriano.materiallife.ui.sketch.reveal.ViewRevealer;
import com.novoda.notils.caster.Classes;
package com.juankysoriano.materiallife.ui.sketch.menu;



public class MenuOptionsView extends ListView {

    private OnItemSelectedListener onMenuOnItemSelectedListener;
    private ViewRevealer viewRevealer;

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

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

    @Override
    protected void onFinishInflate() {
        super.onFinishInflate();
// Path: material-life-android/src/main/java/com/juankysoriano/materiallife/menu/MenuItem.java
// public enum MenuItem {
//     EDIT_WORLD("Edit World"),
//     LOAD_WORLD("Load World"),
//     INFO("Info");
// 
//     private final String value;
// 
//     MenuItem(String value) {
//         this.value = value;
//     }
// 
//     public String value() {
//         return value;
//     }
// }
// 
// Path: material-life-android/src/main/java/com/juankysoriano/materiallife/ui/sketch/reveal/ViewRevealer.java
// public class ViewRevealer {
//     private static final int ANIMATION_DURATION = 300;
// 
//     public void revealFrom(Point point, View view, AnimatorListenerAdapter animatorListenerAdapter) {
//         int targetRadius = ViewMeasurer.getRadiusFrom(point, view);
//         int startRadius = 0;
// 
//         animateFor(view, point, startRadius, targetRadius, animatorListenerAdapter);
//     }
// 
//     public void concealFrom(Point point, View view, AnimatorListenerAdapter animatorListenerAdapter) {
//         int startRadius = ViewMeasurer.getRadiusFrom(point, view);
//         int targetRadius = 0;
// 
//         animateFor(view, point, startRadius, targetRadius, animatorListenerAdapter);
//     }
// 
//     private void animateFor(View view, Point origin, int startRadius, int targetRadius, final AnimatorListenerAdapter animatorListenerAdapter) {
//         SupportAnimator animator = ViewAnimationUtils.createCircularReveal(view, origin.x, origin.y, startRadius, targetRadius);
//         animator.addListener(new SupportAnimator.AnimatorListener() {
//             @Override
//             public void onAnimationStart() {
//                 animatorListenerAdapter.onAnimationStart(null);
//             }
// 
//             @Override
//             public void onAnimationEnd() {
//                 animatorListenerAdapter.onAnimationEnd(null);
//             }
// 
//             @Override
//             public void onAnimationCancel() {
//                 animatorListenerAdapter.onAnimationCancel(null);
//             }
// 
//             @Override
//             public void onAnimationRepeat() {
//                 animatorListenerAdapter.onAnimationRepeat(null);
//             }
//         });
//         animator.setDuration(ANIMATION_DURATION);
//         animator.start();
//     }
// }


// Path: material-life-android/src/main/java/com/juankysoriano/materiallife/ui/sketch/menu/MenuOptionsView.java
import android.animation.Animator;
import android.animation.AnimatorListenerAdapter;
import android.content.Context;
import android.graphics.Point;
import android.util.AttributeSet;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;
import com.juankysoriano.materiallife.menu.MenuItem;
import com.juankysoriano.materiallife.ui.sketch.reveal.ViewRevealer;
import com.novoda.notils.caster.Classes;

package com.juankysoriano.materiallife.ui.sketch.menu;



public class MenuOptionsView extends ListView {

    private OnItemSelectedListener onMenuOnItemSelectedListener;
    private ViewRevealer viewRevealer;

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

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

    @Override
    protected void onFinishInflate() {
        super.onFinishInflate();
        viewRevealer = new ViewRevealer();