ShadowView.java revision e617325bfe357b73644421064cae37e0a033eed7
16eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulzpackage com.xtremelabs.droidsugar.view;
26eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz
36eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulzimport android.content.Context;
46eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulzimport android.content.res.Resources;
56eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulzimport android.view.View;
66eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz
76eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulzimport java.util.ArrayList;
86eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulzimport java.util.List;
96eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz
106eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz@SuppressWarnings({"ALL"})
116eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulzpublic class FakeView {
126eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz    private View realView;
136eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz
146eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz    private int id;
156eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz    private List<View> children = new ArrayList<View>();
166eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz    private Context context;
176eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz    private int visibility;
186eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz
196eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz    public FakeView(View view) {
206eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz        this.realView = view;
216eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz    }
226eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz
236eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz    public void __constructor__(Context context) {
246eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz        this.context = context;
256eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz    }
266eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz
276eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz    public void setId(int id) {
286eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz        this.id = id;
296eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz    }
306eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz
316eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz    public int getId() {
326eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz        return id;
336eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz    }
346eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz
356eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz    public View findViewById(int id) {
36e617325bfe357b73644421064cae37e0a033eed7Christian Williams & Tyler Schulz        if (id == this.id) {
37e617325bfe357b73644421064cae37e0a033eed7Christian Williams & Tyler Schulz            return realView;
38e617325bfe357b73644421064cae37e0a033eed7Christian Williams & Tyler Schulz        }
396eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz
40e617325bfe357b73644421064cae37e0a033eed7Christian Williams & Tyler Schulz        for (View child : children) {
416eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz            View found = child.findViewById(id);
426eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz            if (found != null) {
436eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz                return found;
446eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz            }
456eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz        }
466eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz        return null;
476eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz    }
486eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz
496eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz    public void addView(View child) {
506eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz        children.add(child);
516eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz    }
526eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz
536eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz    public int getChildCount() {
546eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz        return children.size();
556eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz    }
566eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz
576eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz    public View getChildAt(int index) {
586eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz        return children.get(index);
596eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz    }
606eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz
616eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz    public final Context getContext() {
626eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz        return context;
636eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz    }
646eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz
656eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz    public Resources getResources() {
666eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz        return context.getResources();
676eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz    }
686eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz
696eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz    public int getVisibility() {
706eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz        return visibility;
716eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz    }
726eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz
736eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz    public void setVisibility(int visibility) {
746eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz        this.visibility = visibility;
756eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz    }
766eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz}
77