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