// Path: slideOutMenu/menux/src/main/java/mxh/kickassmenu/Util/ViewUtils.java
// public class ViewUtils {
//     private ViewUtils() {
//     }
// 
//     public static void setViewWidths(View view, View[] views) {
//         int w = view.getWidth();
//         int h = view.getHeight();
//         for (int i = 0; i < views.length; i++) {
//             View v = views[i];
//             v.layout((i + 1) * w, 0, (i + 2) * w, h);
//             printView("view[" + i + "]", v);
//         }
//     }
// 
//     public static void printView(String msg, View v) {
//         System.out.println(msg + "=" + v);
//         if (null == v) {
//             return;
//         }
//         System.out.print("[" + v.getLeft());
//         System.out.print(", " + v.getTop());
//         System.out.print(", w=" + v.getWidth());
//         System.out.println(", h=" + v.getHeight() + "]");
//         System.out.println("mw=" + v.getMeasuredWidth() + ", mh=" + v.getMeasuredHeight());
//         System.out.println("scroll [" + v.getScrollX() + "," + v.getScrollY() + "]");
//     }
// 
//     public static void initListView(Context context, ListView listView, String prefix, int numItems, int layout) {
//         // By using setAdpater method in listview we an add string array in list.
//         String[] arr = new String[numItems];
//         for (int i = 0; i < arr.length; i++) {
//             arr[i] = prefix + (i + 1);
//         }
//         listView.setAdapter(new ArrayAdapter<String>(context, layout, arr));
//         listView.setOnItemClickListener(new OnItemClickListener() {
//             @Override
//             public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
//                 Context context = view.getContext();
//                 String msg = "item[" + position + "]=" + parent.getItemAtPosition(position);
//                 Toast.makeText(context, msg, Toast.LENGTH_LONG).show();
//                 System.out.println(msg);
//             }
//         });
//     }
// }


import android.widget.ListView;
import mxh.kickassmenu.R;
import mxh.kickassmenu.Util.ViewUtils;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.animation.Animation;
import android.view.animation.Animation.AnimationListener;
import android.view.animation.AnimationUtils;
import android.widget.FrameLayout;
/*
 * #%L
 * SlidingMenuDemo
 * $Id:$
 * $HeadURL:$
 * %%
 * Copyright (C) 2012 Paul Grime
 * %%
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *      http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 * #L%
 */
package mxh.kickassmenu.fbstyle;




/**
 * Animates the menu view over the app view in a FrameLayout.
 * 
 * As this uses animations, after the menu has moved over the app, touch events are still passed to the app, as the menu View
 * actually hasn't moved. The animation just renders the menu in a different location to its real position.
 */
public class AnimationStackedFrames extends Activity implements AnimationListener {
    FrameLayout mFrameLayout;
    View menu;
    View app;
    boolean menuOut = false;

    class ClickListener implements OnClickListener {
        @Override
        public void onClick(View v) {
            AnimationStackedFrames me = AnimationStackedFrames.this;
            Context context = me;
            Animation anim;
            if (!menuOut) {
                menu.setVisibility(View.VISIBLE);
// Path: slideOutMenu/menux/src/main/java/mxh/kickassmenu/Util/ViewUtils.java
// public class ViewUtils {
//     private ViewUtils() {
//     }
// 
//     public static void setViewWidths(View view, View[] views) {
//         int w = view.getWidth();
//         int h = view.getHeight();
//         for (int i = 0; i < views.length; i++) {
//             View v = views[i];
//             v.layout((i + 1) * w, 0, (i + 2) * w, h);
//             printView("view[" + i + "]", v);
//         }
//     }
// 
//     public static void printView(String msg, View v) {
//         System.out.println(msg + "=" + v);
//         if (null == v) {
//             return;
//         }
//         System.out.print("[" + v.getLeft());
//         System.out.print(", " + v.getTop());
//         System.out.print(", w=" + v.getWidth());
//         System.out.println(", h=" + v.getHeight() + "]");
//         System.out.println("mw=" + v.getMeasuredWidth() + ", mh=" + v.getMeasuredHeight());
//         System.out.println("scroll [" + v.getScrollX() + "," + v.getScrollY() + "]");
//     }
// 
//     public static void initListView(Context context, ListView listView, String prefix, int numItems, int layout) {
//         // By using setAdpater method in listview we an add string array in list.
//         String[] arr = new String[numItems];
//         for (int i = 0; i < arr.length; i++) {
//             arr[i] = prefix + (i + 1);
//         }
//         listView.setAdapter(new ArrayAdapter<String>(context, layout, arr));
//         listView.setOnItemClickListener(new OnItemClickListener() {
//             @Override
//             public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
//                 Context context = view.getContext();
//                 String msg = "item[" + position + "]=" + parent.getItemAtPosition(position);
//                 Toast.makeText(context, msg, Toast.LENGTH_LONG).show();
//                 System.out.println(msg);
//             }
//         });
//     }
// }


// Path: slideOutMenu/menux/src/main/java/mxh/kickassmenu/fbstyle/AnimationStackedFrames.java
import android.widget.ListView;
import mxh.kickassmenu.R;
import mxh.kickassmenu.Util.ViewUtils;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.animation.Animation;
import android.view.animation.Animation.AnimationListener;
import android.view.animation.AnimationUtils;
import android.widget.FrameLayout;

/*
 * #%L
 * SlidingMenuDemo
 * $Id:$
 * $HeadURL:$
 * %%
 * Copyright (C) 2012 Paul Grime
 * %%
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *      http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 * #L%
 */
package mxh.kickassmenu.fbstyle;




/**
 * Animates the menu view over the app view in a FrameLayout.
 * 
 * As this uses animations, after the menu has moved over the app, touch events are still passed to the app, as the menu View
 * actually hasn't moved. The animation just renders the menu in a different location to its real position.
 */
public class AnimationStackedFrames extends Activity implements AnimationListener {
    FrameLayout mFrameLayout;
    View menu;
    View app;
    boolean menuOut = false;

    class ClickListener implements OnClickListener {
        @Override
        public void onClick(View v) {
            AnimationStackedFrames me = AnimationStackedFrames.this;
            Context context = me;
            Animation anim;
            if (!menuOut) {
                menu.setVisibility(View.VISIBLE);
                ViewUtils.printView("menu", menu);