ShadowView.java revision 684ccc2fc5a1c79aa45af22b95c37f7c509a00c1
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; 5684ccc2fc5a1c79aa45af22b95c37f7c509a00c1Christian Williamsimport android.util.AttributeSet; 66eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulzimport android.view.View; 7d4f5daf12f1d112cf06b8b8914437ed6c0b3a677Ryan Richard & Tyler Schultzimport android.view.ViewGroup; 80c40acb66824054e469b3afbc3609ba39bbdac1cChristian Williams & Harry Ugolimport com.xtremelabs.droidsugar.ProxyDelegatingHandler; 96eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz 10c6f46aeb970c9111e2e79b806451f63b4853950bIan Fisher & Tyler Schultzimport java.util.ArrayList; 1151fe0b279e9f5568683d9ef67921f922a51c05d5Christian Williams & Tyler Schultzimport java.util.HashMap; 12c6f46aeb970c9111e2e79b806451f63b4853950bIan Fisher & Tyler Schultzimport java.util.List; 1351fe0b279e9f5568683d9ef67921f922a51c05d5Christian Williams & Tyler Schultzimport java.util.Map; 14c6f46aeb970c9111e2e79b806451f63b4853950bIan Fisher & Tyler Schultz 15198b49fe81283e340891361045a8bdeb01f35e04Tyler Schultz@SuppressWarnings({"UnusedDeclaration"}) 166eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulzpublic class FakeView { 17f33e228a6f3eed1c97488df2ca30da315324aa1eHarry Ugol public static final int UNINITIALIZED_ATTRIBUTE = -1000; 18f33e228a6f3eed1c97488df2ca30da315324aa1eHarry Ugol 196eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz private View realView; 206eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz 216eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz private int id; 226eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz private List<View> children = new ArrayList<View>(); 230c40acb66824054e469b3afbc3609ba39bbdac1cChristian Williams & Harry Ugol private FakeView parent; 246eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz private Context context; 25eaadc83b187e31670dec8837d0851c0646522987Joe Moore & Tyler Schultz public boolean selected; 26810ca4e6f0dc6d69504b3e03ef61155f10083fbeChristian Williams & Joe Moore private View.OnClickListener onClickListener; 27c6f46aeb970c9111e2e79b806451f63b4853950bIan Fisher & Tyler Schultz private Object tag; 28775ccf7ae53d9b4c77d3adf2514f26747cebd89cIan Fisher & Ryan Richard private boolean enabled = true; 29f33e228a6f3eed1c97488df2ca30da315324aa1eHarry Ugol public int visibility = UNINITIALIZED_ATTRIBUTE; 3018141e608f2e60c866a9b7729909e9ce3b9eb588Ian Fisher & Ryan Richard public int height; 3118141e608f2e60c866a9b7729909e9ce3b9eb588Ian Fisher & Ryan Richard public int width; 3218141e608f2e60c866a9b7729909e9ce3b9eb588Ian Fisher & Ryan Richard public int paddingLeft; 3318141e608f2e60c866a9b7729909e9ce3b9eb588Ian Fisher & Ryan Richard public int paddingTop; 3418141e608f2e60c866a9b7729909e9ce3b9eb588Ian Fisher & Ryan Richard public int paddingRight; 3518141e608f2e60c866a9b7729909e9ce3b9eb588Ian Fisher & Ryan Richard public int paddingBottom; 36686237bc49c2d8ff1891cb5fadaa7aaaf1cf9bddChristian Williams & Tyler Schultz public ViewGroup.LayoutParams layoutParams = new ViewGroup.LayoutParams(0, 0); 3744ade170c5bc611222ed25d5b1f8e7745104057dChristian Williams private Map<Integer, Object> tags = new HashMap<Integer, Object>(); 38cc4bd26d94f6eba2a0dc3dae0065c8df2296a95eIan Fisher & Tyler Schultz public boolean clickable; 39cc4bd26d94f6eba2a0dc3dae0065c8df2296a95eIan Fisher & Tyler Schultz public boolean focusable; 406eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz 416eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz public FakeView(View view) { 426eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz this.realView = view; 436eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz } 446eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz 456eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz public void __constructor__(Context context) { 466eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz this.context = context; 476eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz } 486eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz 49684ccc2fc5a1c79aa45af22b95c37f7c509a00c1Christian Williams public void __constructor__(Context context, AttributeSet attrs) { 50684ccc2fc5a1c79aa45af22b95c37f7c509a00c1Christian Williams __constructor__(context); 51684ccc2fc5a1c79aa45af22b95c37f7c509a00c1Christian Williams } 52684ccc2fc5a1c79aa45af22b95c37f7c509a00c1Christian Williams 536eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz public void setId(int id) { 546eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz this.id = id; 556eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz } 566eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz 57cc4bd26d94f6eba2a0dc3dae0065c8df2296a95eIan Fisher & Tyler Schultz public void setClickable(boolean clickable) { 58cc4bd26d94f6eba2a0dc3dae0065c8df2296a95eIan Fisher & Tyler Schultz this.clickable = clickable; 59cc4bd26d94f6eba2a0dc3dae0065c8df2296a95eIan Fisher & Tyler Schultz } 60cc4bd26d94f6eba2a0dc3dae0065c8df2296a95eIan Fisher & Tyler Schultz 61cc4bd26d94f6eba2a0dc3dae0065c8df2296a95eIan Fisher & Tyler Schultz public void setFocusable(boolean focusable) { 62cc4bd26d94f6eba2a0dc3dae0065c8df2296a95eIan Fisher & Tyler Schultz this.focusable = focusable; 63cc4bd26d94f6eba2a0dc3dae0065c8df2296a95eIan Fisher & Tyler Schultz } 64cc4bd26d94f6eba2a0dc3dae0065c8df2296a95eIan Fisher & Tyler Schultz 656eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz public int getId() { 666eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz return id; 676eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz } 686eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz 69a66c979cb64d406c1646a0909bd9a0b6b6ccd802Ian Fisher & Tyler Schultz public static View inflate(Context context, int resource, ViewGroup root) { 70a66c979cb64d406c1646a0909bd9a0b6b6ccd802Ian Fisher & Tyler Schultz View view = FakeContextWrapper.viewLoader.inflateView(context, resource); 71a66c979cb64d406c1646a0909bd9a0b6b6ccd802Ian Fisher & Tyler Schultz if (root != null) { 72a66c979cb64d406c1646a0909bd9a0b6b6ccd802Ian Fisher & Tyler Schultz root.addView(view); 73a66c979cb64d406c1646a0909bd9a0b6b6ccd802Ian Fisher & Tyler Schultz } 74a66c979cb64d406c1646a0909bd9a0b6b6ccd802Ian Fisher & Tyler Schultz return view; 75a66c979cb64d406c1646a0909bd9a0b6b6ccd802Ian Fisher & Tyler Schultz } 76a66c979cb64d406c1646a0909bd9a0b6b6ccd802Ian Fisher & Tyler Schultz 776eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz public View findViewById(int id) { 78e617325bfe357b73644421064cae37e0a033eed7Christian Williams & Tyler Schulz if (id == this.id) { 79e617325bfe357b73644421064cae37e0a033eed7Christian Williams & Tyler Schulz return realView; 80e617325bfe357b73644421064cae37e0a033eed7Christian Williams & Tyler Schulz } 816eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz 82e617325bfe357b73644421064cae37e0a033eed7Christian Williams & Tyler Schulz for (View child : children) { 836eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz View found = child.findViewById(id); 846eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz if (found != null) { 856eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz return found; 866eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz } 876eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz } 886eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz return null; 896eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz } 906eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz 910c40acb66824054e469b3afbc3609ba39bbdac1cChristian Williams & Harry Ugol public View getRootView() { 920c40acb66824054e469b3afbc3609ba39bbdac1cChristian Williams & Harry Ugol FakeView root = this; 930c40acb66824054e469b3afbc3609ba39bbdac1cChristian Williams & Harry Ugol while(root.parent != null) { 940c40acb66824054e469b3afbc3609ba39bbdac1cChristian Williams & Harry Ugol root = root.parent; 950c40acb66824054e469b3afbc3609ba39bbdac1cChristian Williams & Harry Ugol } 960c40acb66824054e469b3afbc3609ba39bbdac1cChristian Williams & Harry Ugol return root.realView; 970c40acb66824054e469b3afbc3609ba39bbdac1cChristian Williams & Harry Ugol } 980c40acb66824054e469b3afbc3609ba39bbdac1cChristian Williams & Harry Ugol 996eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz public void addView(View child) { 1006eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz children.add(child); 101ea0871e869748032b7ba534d2b213f83b399c4a9Christian Williams & Joe Moore childProxy(child).parent = this; 102ea0871e869748032b7ba534d2b213f83b399c4a9Christian Williams & Joe Moore } 103ea0871e869748032b7ba534d2b213f83b399c4a9Christian Williams & Joe Moore 104ea0871e869748032b7ba534d2b213f83b399c4a9Christian Williams & Joe Moore private FakeView childProxy(View child) { 105ea0871e869748032b7ba534d2b213f83b399c4a9Christian Williams & Joe Moore return (FakeView) ProxyDelegatingHandler.getInstance().proxyFor(child); 1066eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz } 1076eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz 1086eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz public int getChildCount() { 1096eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz return children.size(); 1106eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz } 1116eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz 112d4f5daf12f1d112cf06b8b8914437ed6c0b3a677Ryan Richard & Tyler Schultz public ViewGroup.LayoutParams getLayoutParams() { 113d4f5daf12f1d112cf06b8b8914437ed6c0b3a677Ryan Richard & Tyler Schultz return layoutParams; 114d4f5daf12f1d112cf06b8b8914437ed6c0b3a677Ryan Richard & Tyler Schultz } 115d4f5daf12f1d112cf06b8b8914437ed6c0b3a677Ryan Richard & Tyler Schultz 116b0336c5991d124b6b157b9dc976ade56d00cba3eChristian Williams & Ryan Richard public void setLayoutParams(ViewGroup.LayoutParams params) { 117b0336c5991d124b6b157b9dc976ade56d00cba3eChristian Williams & Ryan Richard layoutParams = params; 118b0336c5991d124b6b157b9dc976ade56d00cba3eChristian Williams & Ryan Richard } 119b0336c5991d124b6b157b9dc976ade56d00cba3eChristian Williams & Ryan Richard 1206eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz public View getChildAt(int index) { 1216eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz return children.get(index); 1226eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz } 1236eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz 124ea0871e869748032b7ba534d2b213f83b399c4a9Christian Williams & Joe Moore public void removeAllViews() { 125ea0871e869748032b7ba534d2b213f83b399c4a9Christian Williams & Joe Moore for (View child : children) { 126ea0871e869748032b7ba534d2b213f83b399c4a9Christian Williams & Joe Moore childProxy(child).parent = null; 127ea0871e869748032b7ba534d2b213f83b399c4a9Christian Williams & Joe Moore } 128ea0871e869748032b7ba534d2b213f83b399c4a9Christian Williams & Joe Moore children.clear(); 129ea0871e869748032b7ba534d2b213f83b399c4a9Christian Williams & Joe Moore } 130ea0871e869748032b7ba534d2b213f83b399c4a9Christian Williams & Joe Moore 1316eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz public final Context getContext() { 1326eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz return context; 1336eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz } 1346eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz 1356eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz public Resources getResources() { 1366eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz return context.getResources(); 1376eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz } 1386eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz 1396eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz public int getVisibility() { 1406eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz return visibility; 1416eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz } 1426eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz 1436eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz public void setVisibility(int visibility) { 1446eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz this.visibility = visibility; 1456eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz } 146eaadc83b187e31670dec8837d0851c0646522987Joe Moore & Tyler Schultz 147eaadc83b187e31670dec8837d0851c0646522987Joe Moore & Tyler Schultz public void setSelected(boolean selected) { 148eaadc83b187e31670dec8837d0851c0646522987Joe Moore & Tyler Schultz this.selected = selected; 149eaadc83b187e31670dec8837d0851c0646522987Joe Moore & Tyler Schultz } 150810ca4e6f0dc6d69504b3e03ef61155f10083fbeChristian Williams & Joe Moore 151acb084f15b3b6e2496136ee8449b5d64ccb54939Ryan Richard & Tyler Schultz public boolean isSelected() { 152acb084f15b3b6e2496136ee8449b5d64ccb54939Ryan Richard & Tyler Schultz return this.selected; 153acb084f15b3b6e2496136ee8449b5d64ccb54939Ryan Richard & Tyler Schultz } 154acb084f15b3b6e2496136ee8449b5d64ccb54939Ryan Richard & Tyler Schultz 155775ccf7ae53d9b4c77d3adf2514f26747cebd89cIan Fisher & Ryan Richard public boolean isEnabled() { 156775ccf7ae53d9b4c77d3adf2514f26747cebd89cIan Fisher & Ryan Richard return this.enabled; 157775ccf7ae53d9b4c77d3adf2514f26747cebd89cIan Fisher & Ryan Richard } 158775ccf7ae53d9b4c77d3adf2514f26747cebd89cIan Fisher & Ryan Richard 159775ccf7ae53d9b4c77d3adf2514f26747cebd89cIan Fisher & Ryan Richard public void setEnabled(boolean enabled) { 160775ccf7ae53d9b4c77d3adf2514f26747cebd89cIan Fisher & Ryan Richard this.enabled = enabled; 161775ccf7ae53d9b4c77d3adf2514f26747cebd89cIan Fisher & Ryan Richard } 162775ccf7ae53d9b4c77d3adf2514f26747cebd89cIan Fisher & Ryan Richard 163810ca4e6f0dc6d69504b3e03ef61155f10083fbeChristian Williams & Joe Moore public void setOnClickListener(View.OnClickListener onClickListener) { 164810ca4e6f0dc6d69504b3e03ef61155f10083fbeChristian Williams & Joe Moore this.onClickListener = onClickListener; 165810ca4e6f0dc6d69504b3e03ef61155f10083fbeChristian Williams & Joe Moore } 166810ca4e6f0dc6d69504b3e03ef61155f10083fbeChristian Williams & Joe Moore 167810ca4e6f0dc6d69504b3e03ef61155f10083fbeChristian Williams & Joe Moore public boolean performClick() { 168810ca4e6f0dc6d69504b3e03ef61155f10083fbeChristian Williams & Joe Moore if (onClickListener != null) { 169810ca4e6f0dc6d69504b3e03ef61155f10083fbeChristian Williams & Joe Moore onClickListener.onClick(realView); 170810ca4e6f0dc6d69504b3e03ef61155f10083fbeChristian Williams & Joe Moore return true; 171810ca4e6f0dc6d69504b3e03ef61155f10083fbeChristian Williams & Joe Moore } else { 172810ca4e6f0dc6d69504b3e03ef61155f10083fbeChristian Williams & Joe Moore return false; 173810ca4e6f0dc6d69504b3e03ef61155f10083fbeChristian Williams & Joe Moore } 174810ca4e6f0dc6d69504b3e03ef61155f10083fbeChristian Williams & Joe Moore } 175c6f46aeb970c9111e2e79b806451f63b4853950bIan Fisher & Tyler Schultz 176c6f46aeb970c9111e2e79b806451f63b4853950bIan Fisher & Tyler Schultz public Object getTag() { 177c6f46aeb970c9111e2e79b806451f63b4853950bIan Fisher & Tyler Schultz return this.tag; 178c6f46aeb970c9111e2e79b806451f63b4853950bIan Fisher & Tyler Schultz } 179c6f46aeb970c9111e2e79b806451f63b4853950bIan Fisher & Tyler Schultz 180c6f46aeb970c9111e2e79b806451f63b4853950bIan Fisher & Tyler Schultz public void setTag(Object tag) { 181c6f46aeb970c9111e2e79b806451f63b4853950bIan Fisher & Tyler Schultz this.tag = tag; 182c6f46aeb970c9111e2e79b806451f63b4853950bIan Fisher & Tyler Schultz } 18318141e608f2e60c866a9b7729909e9ce3b9eb588Ian Fisher & Ryan Richard 18418141e608f2e60c866a9b7729909e9ce3b9eb588Ian Fisher & Ryan Richard public final int getHeight() { 18518141e608f2e60c866a9b7729909e9ce3b9eb588Ian Fisher & Ryan Richard return height; 18618141e608f2e60c866a9b7729909e9ce3b9eb588Ian Fisher & Ryan Richard } 18718141e608f2e60c866a9b7729909e9ce3b9eb588Ian Fisher & Ryan Richard 18818141e608f2e60c866a9b7729909e9ce3b9eb588Ian Fisher & Ryan Richard public final int getWidth() { 18918141e608f2e60c866a9b7729909e9ce3b9eb588Ian Fisher & Ryan Richard return width; 19018141e608f2e60c866a9b7729909e9ce3b9eb588Ian Fisher & Ryan Richard } 19118141e608f2e60c866a9b7729909e9ce3b9eb588Ian Fisher & Ryan Richard 19218141e608f2e60c866a9b7729909e9ce3b9eb588Ian Fisher & Ryan Richard public void setPadding(int left, int top, int right, int bottom) { 19318141e608f2e60c866a9b7729909e9ce3b9eb588Ian Fisher & Ryan Richard paddingLeft = left; 19418141e608f2e60c866a9b7729909e9ce3b9eb588Ian Fisher & Ryan Richard paddingTop = top; 19518141e608f2e60c866a9b7729909e9ce3b9eb588Ian Fisher & Ryan Richard paddingRight = right; 19618141e608f2e60c866a9b7729909e9ce3b9eb588Ian Fisher & Ryan Richard paddingBottom = bottom; 19718141e608f2e60c866a9b7729909e9ce3b9eb588Ian Fisher & Ryan Richard } 19818141e608f2e60c866a9b7729909e9ce3b9eb588Ian Fisher & Ryan Richard 19918141e608f2e60c866a9b7729909e9ce3b9eb588Ian Fisher & Ryan Richard public int getPaddingTop() { 20018141e608f2e60c866a9b7729909e9ce3b9eb588Ian Fisher & Ryan Richard return paddingTop; 20118141e608f2e60c866a9b7729909e9ce3b9eb588Ian Fisher & Ryan Richard } 20218141e608f2e60c866a9b7729909e9ce3b9eb588Ian Fisher & Ryan Richard 20318141e608f2e60c866a9b7729909e9ce3b9eb588Ian Fisher & Ryan Richard public int getPaddingLeft() { 20418141e608f2e60c866a9b7729909e9ce3b9eb588Ian Fisher & Ryan Richard return paddingLeft; 20518141e608f2e60c866a9b7729909e9ce3b9eb588Ian Fisher & Ryan Richard } 20618141e608f2e60c866a9b7729909e9ce3b9eb588Ian Fisher & Ryan Richard 20718141e608f2e60c866a9b7729909e9ce3b9eb588Ian Fisher & Ryan Richard public int getPaddingRight() { 20818141e608f2e60c866a9b7729909e9ce3b9eb588Ian Fisher & Ryan Richard return paddingRight; 20918141e608f2e60c866a9b7729909e9ce3b9eb588Ian Fisher & Ryan Richard } 21018141e608f2e60c866a9b7729909e9ce3b9eb588Ian Fisher & Ryan Richard 21118141e608f2e60c866a9b7729909e9ce3b9eb588Ian Fisher & Ryan Richard public int getPaddingBottom() { 21218141e608f2e60c866a9b7729909e9ce3b9eb588Ian Fisher & Ryan Richard return paddingBottom; 21318141e608f2e60c866a9b7729909e9ce3b9eb588Ian Fisher & Ryan Richard } 21451fe0b279e9f5568683d9ef67921f922a51c05d5Christian Williams & Tyler Schultz 21544ade170c5bc611222ed25d5b1f8e7745104057dChristian Williams public Object getTag(int key) { 21644ade170c5bc611222ed25d5b1f8e7745104057dChristian Williams return tags.get(key); 21744ade170c5bc611222ed25d5b1f8e7745104057dChristian Williams } 21844ade170c5bc611222ed25d5b1f8e7745104057dChristian Williams 21944ade170c5bc611222ed25d5b1f8e7745104057dChristian Williams public void setTag(int key, Object value) { 22044ade170c5bc611222ed25d5b1f8e7745104057dChristian Williams tags.put(key, value); 22144ade170c5bc611222ed25d5b1f8e7745104057dChristian Williams } 2226eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz} 223