133873d2b41a5cd2597b20a4e88eb8942944c0f23Tyler Schultzpackage com.xtremelabs.robolectric.shadows; 26eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz 32c9c757ef2fb2ffd9dffb5b4227144d15922bcf4adriancowhamimport android.view.View; 42c9c757ef2fb2ffd9dffb5b4227144d15922bcf4adriancowhamimport android.view.ViewGroup; 52c9c757ef2fb2ffd9dffb5b4227144d15922bcf4adriancowhamimport android.view.animation.Animation.AnimationListener; 62c9c757ef2fb2ffd9dffb5b4227144d15922bcf4adriancowhamimport com.xtremelabs.robolectric.internal.Implementation; 72c9c757ef2fb2ffd9dffb5b4227144d15922bcf4adriancowhamimport com.xtremelabs.robolectric.internal.Implements; 8a8486da7c7a0b6a10e943c55992f34d9c256456dChristian Williams 9aafe6e8069d9c7fc9c9b2a8793deddf3fe71127fAaron VonderHaar & Phil Goodwinimport java.io.PrintStream; 10aafe6e8069d9c7fc9c9b2a8793deddf3fe71127fAaron VonderHaar & Phil Goodwinimport java.util.ArrayList; 11aafe6e8069d9c7fc9c9b2a8793deddf3fe71127fAaron VonderHaar & Phil Goodwinimport java.util.List; 12aafe6e8069d9c7fc9c9b2a8793deddf3fe71127fAaron VonderHaar & Phil Goodwin 13aafe6e8069d9c7fc9c9b2a8793deddf3fe71127fAaron VonderHaar & Phil Goodwinimport static com.xtremelabs.robolectric.Robolectric.shadowOf; 14aafe6e8069d9c7fc9c9b2a8793deddf3fe71127fAaron VonderHaar & Phil Goodwin 15ac58b328bde3c77d1d9687408e547faad3b77e2bPhil Goodwin/** 16ac58b328bde3c77d1d9687408e547faad3b77e2bPhil Goodwin * Shadow for {@code ViewGroup} that simulates its implementation 17ac58b328bde3c77d1d9687408e547faad3b77e2bPhil Goodwin */ 180b378afcde0200166e546c46a7642015accfce49Christian Williams & Ian Fisher@SuppressWarnings({"UnusedDeclaration"}) 190b378afcde0200166e546c46a7642015accfce49Christian Williams & Ian Fisher@Implements(ViewGroup.class) 20afe0a89d904a7fe2f5980b9deb26cc3240192459Christian Williamspublic class ShadowViewGroup extends ShadowView { 2163bd7c4e869525014879db3428e17eb4d2728cf9Christian Williams private List<View> children = new ArrayList<View>(); 22b551a870eb9fb9acae0f8a6632fefea12a5f8598Ryan Richard & Tyler Schultz private AnimationListener animListener; 23aafe6e8069d9c7fc9c9b2a8793deddf3fe71127fAaron VonderHaar & Phil Goodwin private boolean disallowInterceptTouchEvent = false; 2463bd7c4e869525014879db3428e17eb4d2728cf9Christian Williams 2563bd7c4e869525014879db3428e17eb4d2728cf9Christian Williams @Implementation 2663bd7c4e869525014879db3428e17eb4d2728cf9Christian Williams @Override 2763bd7c4e869525014879db3428e17eb4d2728cf9Christian Williams public View findViewById(int id) { 2863bd7c4e869525014879db3428e17eb4d2728cf9Christian Williams if (id == getId()) { 2963bd7c4e869525014879db3428e17eb4d2728cf9Christian Williams return realView; 3063bd7c4e869525014879db3428e17eb4d2728cf9Christian Williams } 3163bd7c4e869525014879db3428e17eb4d2728cf9Christian Williams 3263bd7c4e869525014879db3428e17eb4d2728cf9Christian Williams for (View child : children) { 3363bd7c4e869525014879db3428e17eb4d2728cf9Christian Williams View found = child.findViewById(id); 3463bd7c4e869525014879db3428e17eb4d2728cf9Christian Williams if (found != null) { 3563bd7c4e869525014879db3428e17eb4d2728cf9Christian Williams return found; 3663bd7c4e869525014879db3428e17eb4d2728cf9Christian Williams } 3763bd7c4e869525014879db3428e17eb4d2728cf9Christian Williams } 3863bd7c4e869525014879db3428e17eb4d2728cf9Christian Williams return null; 3963bd7c4e869525014879db3428e17eb4d2728cf9Christian Williams } 40b551a870eb9fb9acae0f8a6632fefea12a5f8598Ryan Richard & Tyler Schultz 41593543dfecc0d06e016c66504f24cd361b353a44Chris Van Vranken @Implementation 42593543dfecc0d06e016c66504f24cd361b353a44Chris Van Vranken @Override 43593543dfecc0d06e016c66504f24cd361b353a44Chris Van Vranken public View findViewWithTag(Object obj) { 44b551a870eb9fb9acae0f8a6632fefea12a5f8598Ryan Richard & Tyler Schultz if (obj.equals(realView.getTag())) { 45593543dfecc0d06e016c66504f24cd361b353a44Chris Van Vranken return realView; 46593543dfecc0d06e016c66504f24cd361b353a44Chris Van Vranken } 47b551a870eb9fb9acae0f8a6632fefea12a5f8598Ryan Richard & Tyler Schultz 48593543dfecc0d06e016c66504f24cd361b353a44Chris Van Vranken for (View child : children) { 49593543dfecc0d06e016c66504f24cd361b353a44Chris Van Vranken View found = child.findViewWithTag(obj); 50593543dfecc0d06e016c66504f24cd361b353a44Chris Van Vranken if (found != null) { 51593543dfecc0d06e016c66504f24cd361b353a44Chris Van Vranken return found; 52593543dfecc0d06e016c66504f24cd361b353a44Chris Van Vranken } 53593543dfecc0d06e016c66504f24cd361b353a44Chris Van Vranken } 54593543dfecc0d06e016c66504f24cd361b353a44Chris Van Vranken 55593543dfecc0d06e016c66504f24cd361b353a44Chris Van Vranken return null; 56593543dfecc0d06e016c66504f24cd361b353a44Chris Van Vranken } 5763bd7c4e869525014879db3428e17eb4d2728cf9Christian Williams 5863bd7c4e869525014879db3428e17eb4d2728cf9Christian Williams @Implementation 5963bd7c4e869525014879db3428e17eb4d2728cf9Christian Williams public void addView(View child) { 60b551a870eb9fb9acae0f8a6632fefea12a5f8598Ryan Richard & Tyler Schultz ((ViewGroup) realView).addView(child, -1); 61adc0e08f20f0c0df8303e304c460865f1b25e190Christian Williams } 62adc0e08f20f0c0df8303e304c460865f1b25e190Christian Williams 63adc0e08f20f0c0df8303e304c460865f1b25e190Christian Williams @Implementation 64adc0e08f20f0c0df8303e304c460865f1b25e190Christian Williams public void addView(View child, int index) { 65adc0e08f20f0c0df8303e304c460865f1b25e190Christian Williams if (index == -1) { 66adc0e08f20f0c0df8303e304c460865f1b25e190Christian Williams children.add(child); 67adc0e08f20f0c0df8303e304c460865f1b25e190Christian Williams } else { 68adc0e08f20f0c0df8303e304c460865f1b25e190Christian Williams children.add(index, child); 69adc0e08f20f0c0df8303e304c460865f1b25e190Christian Williams } 70a8486da7c7a0b6a10e943c55992f34d9c256456dChristian Williams shadowOf(child).parent = this; 7163bd7c4e869525014879db3428e17eb4d2728cf9Christian Williams } 72b551a870eb9fb9acae0f8a6632fefea12a5f8598Ryan Richard & Tyler Schultz 7363bd7c4e869525014879db3428e17eb4d2728cf9Christian Williams @Implementation 74adc0e08f20f0c0df8303e304c460865f1b25e190Christian Williams public void addView(View child, int width, int height) { 75b551a870eb9fb9acae0f8a6632fefea12a5f8598Ryan Richard & Tyler Schultz ((ViewGroup) realView).addView(child, -1); 76adc0e08f20f0c0df8303e304c460865f1b25e190Christian Williams } 77adc0e08f20f0c0df8303e304c460865f1b25e190Christian Williams 78adc0e08f20f0c0df8303e304c460865f1b25e190Christian Williams @Implementation 79adc0e08f20f0c0df8303e304c460865f1b25e190Christian Williams public void addView(View child, ViewGroup.LayoutParams params) { 80b551a870eb9fb9acae0f8a6632fefea12a5f8598Ryan Richard & Tyler Schultz ((ViewGroup) realView).addView(child, -1); 81adc0e08f20f0c0df8303e304c460865f1b25e190Christian Williams } 82adc0e08f20f0c0df8303e304c460865f1b25e190Christian Williams 83adc0e08f20f0c0df8303e304c460865f1b25e190Christian Williams @Implementation 84adc0e08f20f0c0df8303e304c460865f1b25e190Christian Williams public void addView(View child, int index, ViewGroup.LayoutParams params) { 85b551a870eb9fb9acae0f8a6632fefea12a5f8598Ryan Richard & Tyler Schultz ((ViewGroup) realView).addView(child, index); 86adc0e08f20f0c0df8303e304c460865f1b25e190Christian Williams } 87adc0e08f20f0c0df8303e304c460865f1b25e190Christian Williams 88adc0e08f20f0c0df8303e304c460865f1b25e190Christian Williams @Implementation 890e1c92ca35030e2c173b141c41341636bbb7a258Christian Williams public int indexOfChild(View child) { 900e1c92ca35030e2c173b141c41341636bbb7a258Christian Williams int count = getChildCount(); 910e1c92ca35030e2c173b141c41341636bbb7a258Christian Williams for (int i = 0; i < count; i++) { 920e1c92ca35030e2c173b141c41341636bbb7a258Christian Williams if (children.get(i) == child) { 930e1c92ca35030e2c173b141c41341636bbb7a258Christian Williams return i; 940e1c92ca35030e2c173b141c41341636bbb7a258Christian Williams } 950e1c92ca35030e2c173b141c41341636bbb7a258Christian Williams } 960e1c92ca35030e2c173b141c41341636bbb7a258Christian Williams return -1; 970e1c92ca35030e2c173b141c41341636bbb7a258Christian Williams } 980e1c92ca35030e2c173b141c41341636bbb7a258Christian Williams 990e1c92ca35030e2c173b141c41341636bbb7a258Christian Williams @Implementation 10063bd7c4e869525014879db3428e17eb4d2728cf9Christian Williams public int getChildCount() { 10163bd7c4e869525014879db3428e17eb4d2728cf9Christian Williams return children.size(); 10263bd7c4e869525014879db3428e17eb4d2728cf9Christian Williams } 10363bd7c4e869525014879db3428e17eb4d2728cf9Christian Williams 10463bd7c4e869525014879db3428e17eb4d2728cf9Christian Williams @Implementation 10563bd7c4e869525014879db3428e17eb4d2728cf9Christian Williams public View getChildAt(int index) { 10638706c42aada3881f234bdb7d33c59c00f1cb528Wenhui Yao if( index >= children.size() ){ return null; } 10763bd7c4e869525014879db3428e17eb4d2728cf9Christian Williams return children.get(index); 10863bd7c4e869525014879db3428e17eb4d2728cf9Christian Williams } 10963bd7c4e869525014879db3428e17eb4d2728cf9Christian Williams 11063bd7c4e869525014879db3428e17eb4d2728cf9Christian Williams @Implementation 11163bd7c4e869525014879db3428e17eb4d2728cf9Christian Williams public void removeAllViews() { 11263bd7c4e869525014879db3428e17eb4d2728cf9Christian Williams for (View child : children) { 113a8486da7c7a0b6a10e943c55992f34d9c256456dChristian Williams shadowOf(child).parent = null; 11463bd7c4e869525014879db3428e17eb4d2728cf9Christian Williams } 11563bd7c4e869525014879db3428e17eb4d2728cf9Christian Williams children.clear(); 11663bd7c4e869525014879db3428e17eb4d2728cf9Christian Williams } 11763bd7c4e869525014879db3428e17eb4d2728cf9Christian Williams 11863bd7c4e869525014879db3428e17eb4d2728cf9Christian Williams @Implementation 11963bd7c4e869525014879db3428e17eb4d2728cf9Christian Williams public void removeViewAt(int position) { 120a8486da7c7a0b6a10e943c55992f34d9c256456dChristian Williams shadowOf(children.remove(position)).parent = null; 12163bd7c4e869525014879db3428e17eb4d2728cf9Christian Williams } 12263bd7c4e869525014879db3428e17eb4d2728cf9Christian Williams 123dfd21b7f55f0f13f01db5b46170f779b5149da20Farand Koo @Implementation 124dfd21b7f55f0f13f01db5b46170f779b5149da20Farand Koo public void removeView(View view) { 125dfd21b7f55f0f13f01db5b46170f779b5149da20Farand Koo removeViewInLayout(view); 126dfd21b7f55f0f13f01db5b46170f779b5149da20Farand Koo } 127dfd21b7f55f0f13f01db5b46170f779b5149da20Farand Koo 128dfd21b7f55f0f13f01db5b46170f779b5149da20Farand Koo @Implementation 129dfd21b7f55f0f13f01db5b46170f779b5149da20Farand Koo public void removeViewInLayout(View view) { 130dfd21b7f55f0f13f01db5b46170f779b5149da20Farand Koo int index = indexOfChild(view); 131dfd21b7f55f0f13f01db5b46170f779b5149da20Farand Koo if (index >= 0) { 132dfd21b7f55f0f13f01db5b46170f779b5149da20Farand Koo removeViewAt(index); 133dfd21b7f55f0f13f01db5b46170f779b5149da20Farand Koo } 134dfd21b7f55f0f13f01db5b46170f779b5149da20Farand Koo } 135dfd21b7f55f0f13f01db5b46170f779b5149da20Farand Koo 136dfd21b7f55f0f13f01db5b46170f779b5149da20Farand Koo @Implementation 137dfd21b7f55f0f13f01db5b46170f779b5149da20Farand Koo public void removeViews(int start, int count) { 138dfd21b7f55f0f13f01db5b46170f779b5149da20Farand Koo removeViewsInLayout(start, count); 139dfd21b7f55f0f13f01db5b46170f779b5149da20Farand Koo } 140dfd21b7f55f0f13f01db5b46170f779b5149da20Farand Koo 141dfd21b7f55f0f13f01db5b46170f779b5149da20Farand Koo @Implementation 142dfd21b7f55f0f13f01db5b46170f779b5149da20Farand Koo public void removeViewsInLayout(int start, int count) { 143dfd21b7f55f0f13f01db5b46170f779b5149da20Farand Koo int lastIndex = start + count - 1; 144dfd21b7f55f0f13f01db5b46170f779b5149da20Farand Koo for (int i = lastIndex; i >= start; i--) { 145dfd21b7f55f0f13f01db5b46170f779b5149da20Farand Koo removeViewAt(i); 146dfd21b7f55f0f13f01db5b46170f779b5149da20Farand Koo } 147dfd21b7f55f0f13f01db5b46170f779b5149da20Farand Koo } 148dfd21b7f55f0f13f01db5b46170f779b5149da20Farand Koo 149b551a870eb9fb9acae0f8a6632fefea12a5f8598Ryan Richard & Tyler Schultz @Override 150b551a870eb9fb9acae0f8a6632fefea12a5f8598Ryan Richard & Tyler Schultz @Implementation 1519729911f8638b6bb4d55b3d67e6d68a6b3f19dc7Phil Goodwin public boolean hasFocus() { 1529729911f8638b6bb4d55b3d67e6d68a6b3f19dc7Phil Goodwin if (super.hasFocus()) return true; 1539729911f8638b6bb4d55b3d67e6d68a6b3f19dc7Phil Goodwin 1549729911f8638b6bb4d55b3d67e6d68a6b3f19dc7Phil Goodwin for (View child : children) { 1559729911f8638b6bb4d55b3d67e6d68a6b3f19dc7Phil Goodwin if (child.hasFocus()) return true; 1569729911f8638b6bb4d55b3d67e6d68a6b3f19dc7Phil Goodwin } 1579729911f8638b6bb4d55b3d67e6d68a6b3f19dc7Phil Goodwin 1589729911f8638b6bb4d55b3d67e6d68a6b3f19dc7Phil Goodwin return false; 1599729911f8638b6bb4d55b3d67e6d68a6b3f19dc7Phil Goodwin } 1609729911f8638b6bb4d55b3d67e6d68a6b3f19dc7Phil Goodwin 1619729911f8638b6bb4d55b3d67e6d68a6b3f19dc7Phil Goodwin @Implementation 1629729911f8638b6bb4d55b3d67e6d68a6b3f19dc7Phil Goodwin @Override 1639729911f8638b6bb4d55b3d67e6d68a6b3f19dc7Phil Goodwin public void clearFocus() { 1649729911f8638b6bb4d55b3d67e6d68a6b3f19dc7Phil Goodwin if (hasFocus()) { 1659729911f8638b6bb4d55b3d67e6d68a6b3f19dc7Phil Goodwin super.clearFocus(); 1669729911f8638b6bb4d55b3d67e6d68a6b3f19dc7Phil Goodwin 1679729911f8638b6bb4d55b3d67e6d68a6b3f19dc7Phil Goodwin for (View child : children) { 1689729911f8638b6bb4d55b3d67e6d68a6b3f19dc7Phil Goodwin child.clearFocus(); 1699729911f8638b6bb4d55b3d67e6d68a6b3f19dc7Phil Goodwin } 1709729911f8638b6bb4d55b3d67e6d68a6b3f19dc7Phil Goodwin } 1719729911f8638b6bb4d55b3d67e6d68a6b3f19dc7Phil Goodwin } 1729729911f8638b6bb4d55b3d67e6d68a6b3f19dc7Phil Goodwin 17310afa627a8dc3aba930189ee6b15d1aa99531ec8Cristian Esquivias @Implementation 17410afa627a8dc3aba930189ee6b15d1aa99531ec8Cristian Esquivias @Override 17510afa627a8dc3aba930189ee6b15d1aa99531ec8Cristian Esquivias public View findFocus() { 17610afa627a8dc3aba930189ee6b15d1aa99531ec8Cristian Esquivias if (super.hasFocus()) { 17710afa627a8dc3aba930189ee6b15d1aa99531ec8Cristian Esquivias return this.realView; 17810afa627a8dc3aba930189ee6b15d1aa99531ec8Cristian Esquivias } 17910afa627a8dc3aba930189ee6b15d1aa99531ec8Cristian Esquivias 18010afa627a8dc3aba930189ee6b15d1aa99531ec8Cristian Esquivias for (View child : children) { 18110afa627a8dc3aba930189ee6b15d1aa99531ec8Cristian Esquivias View focusedView = child.findFocus(); 18210afa627a8dc3aba930189ee6b15d1aa99531ec8Cristian Esquivias if (focusedView != null) { 18310afa627a8dc3aba930189ee6b15d1aa99531ec8Cristian Esquivias return focusedView; 18410afa627a8dc3aba930189ee6b15d1aa99531ec8Cristian Esquivias } 18510afa627a8dc3aba930189ee6b15d1aa99531ec8Cristian Esquivias } 18610afa627a8dc3aba930189ee6b15d1aa99531ec8Cristian Esquivias 18710afa627a8dc3aba930189ee6b15d1aa99531ec8Cristian Esquivias return null; 18810afa627a8dc3aba930189ee6b15d1aa99531ec8Cristian Esquivias } 18910afa627a8dc3aba930189ee6b15d1aa99531ec8Cristian Esquivias 190ac58b328bde3c77d1d9687408e547faad3b77e2bPhil Goodwin /** 191da9cd404c0db2ebcef4ecfb50836de00b56622f1Christian Williams * Returns a string representation of this {@code ViewGroup} by concatenating all of the strings contained in all 192da9cd404c0db2ebcef4ecfb50836de00b56622f1Christian Williams * of the descendants of this {@code ViewGroup}. 19340c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams * <p/> 194da9cd404c0db2ebcef4ecfb50836de00b56622f1Christian Williams * Robolectric extension. 195ac58b328bde3c77d1d9687408e547faad3b77e2bPhil Goodwin */ 1962ff94a9e4df5b0d3eb21bda70793b27d9f1f353cChristian Williams & Phil Goodwin @Override 1972ff94a9e4df5b0d3eb21bda70793b27d9f1f353cChristian Williams & Phil Goodwin public String innerText() { 1982ff94a9e4df5b0d3eb21bda70793b27d9f1f353cChristian Williams & Phil Goodwin String innerText = ""; 199a89236397e869467b3fc6f7208f551da61235795Christian Williams & Tyler Schultz String delimiter = ""; 200a89236397e869467b3fc6f7208f551da61235795Christian Williams & Tyler Schultz 2012ff94a9e4df5b0d3eb21bda70793b27d9f1f353cChristian Williams & Phil Goodwin for (int i = 0; i < getChildCount(); i++) { 2022ff94a9e4df5b0d3eb21bda70793b27d9f1f353cChristian Williams & Phil Goodwin View child = getChildAt(i); 203a8486da7c7a0b6a10e943c55992f34d9c256456dChristian Williams String childText = shadowOf(child).innerText(); 204a89236397e869467b3fc6f7208f551da61235795Christian Williams & Tyler Schultz if (childText.length() > 0) { 205a89236397e869467b3fc6f7208f551da61235795Christian Williams & Tyler Schultz innerText += delimiter; 206a89236397e869467b3fc6f7208f551da61235795Christian Williams & Tyler Schultz delimiter = " "; 2072ff94a9e4df5b0d3eb21bda70793b27d9f1f353cChristian Williams & Phil Goodwin } 2082ff94a9e4df5b0d3eb21bda70793b27d9f1f353cChristian Williams & Phil Goodwin innerText += childText; 2092ff94a9e4df5b0d3eb21bda70793b27d9f1f353cChristian Williams & Phil Goodwin } 2102ff94a9e4df5b0d3eb21bda70793b27d9f1f353cChristian Williams & Phil Goodwin return innerText; 2112ff94a9e4df5b0d3eb21bda70793b27d9f1f353cChristian Williams & Phil Goodwin } 21286e98619f5f1b5f6b1fd5742ba911d7ebc83c2ddChristian Williams 213ac58b328bde3c77d1d9687408e547faad3b77e2bPhil Goodwin /** 214ac58b328bde3c77d1d9687408e547faad3b77e2bPhil Goodwin * Non-Android method that dumps the state of this {@code ViewGroup} to {@code System.out} 215ac58b328bde3c77d1d9687408e547faad3b77e2bPhil Goodwin */ 216b551a870eb9fb9acae0f8a6632fefea12a5f8598Ryan Richard & Tyler Schultz @Override 217b551a870eb9fb9acae0f8a6632fefea12a5f8598Ryan Richard & Tyler Schultz public void dump(PrintStream out, int indent) { 21886e98619f5f1b5f6b1fd5742ba911d7ebc83c2ddChristian Williams dumpFirstPart(out, indent); 21986e98619f5f1b5f6b1fd5742ba911d7ebc83c2ddChristian Williams if (children.size() > 0) { 22086e98619f5f1b5f6b1fd5742ba911d7ebc83c2ddChristian Williams out.println(">"); 22186e98619f5f1b5f6b1fd5742ba911d7ebc83c2ddChristian Williams 22286e98619f5f1b5f6b1fd5742ba911d7ebc83c2ddChristian Williams for (View child : children) { 22386e98619f5f1b5f6b1fd5742ba911d7ebc83c2ddChristian Williams shadowOf(child).dump(out, indent + 2); 22486e98619f5f1b5f6b1fd5742ba911d7ebc83c2ddChristian Williams } 22586e98619f5f1b5f6b1fd5742ba911d7ebc83c2ddChristian Williams 22686e98619f5f1b5f6b1fd5742ba911d7ebc83c2ddChristian Williams dumpIndent(out, indent); 22786e98619f5f1b5f6b1fd5742ba911d7ebc83c2ddChristian Williams out.println("</" + realView.getClass().getSimpleName() + ">"); 22886e98619f5f1b5f6b1fd5742ba911d7ebc83c2ddChristian Williams } else { 22986e98619f5f1b5f6b1fd5742ba911d7ebc83c2ddChristian Williams out.println("/>"); 23086e98619f5f1b5f6b1fd5742ba911d7ebc83c2ddChristian Williams } 23186e98619f5f1b5f6b1fd5742ba911d7ebc83c2ddChristian Williams } 232b551a870eb9fb9acae0f8a6632fefea12a5f8598Ryan Richard & Tyler Schultz 2332c9c757ef2fb2ffd9dffb5b4227144d15922bcf4adriancowham @Implementation 234b551a870eb9fb9acae0f8a6632fefea12a5f8598Ryan Richard & Tyler Schultz public void setLayoutAnimationListener(AnimationListener listener) { 235b551a870eb9fb9acae0f8a6632fefea12a5f8598Ryan Richard & Tyler Schultz animListener = listener; 2362c9c757ef2fb2ffd9dffb5b4227144d15922bcf4adriancowham } 237b551a870eb9fb9acae0f8a6632fefea12a5f8598Ryan Richard & Tyler Schultz 2382c9c757ef2fb2ffd9dffb5b4227144d15922bcf4adriancowham @Implementation 2392c9c757ef2fb2ffd9dffb5b4227144d15922bcf4adriancowham public AnimationListener getLayoutAnimationListener() { 240b551a870eb9fb9acae0f8a6632fefea12a5f8598Ryan Richard & Tyler Schultz return animListener; 2412c9c757ef2fb2ffd9dffb5b4227144d15922bcf4adriancowham } 242aafe6e8069d9c7fc9c9b2a8793deddf3fe71127fAaron VonderHaar & Phil Goodwin 243aafe6e8069d9c7fc9c9b2a8793deddf3fe71127fAaron VonderHaar & Phil Goodwin @Implementation 244aafe6e8069d9c7fc9c9b2a8793deddf3fe71127fAaron VonderHaar & Phil Goodwin public void requestDisallowInterceptTouchEvent(boolean disallowIntercept) { 245aafe6e8069d9c7fc9c9b2a8793deddf3fe71127fAaron VonderHaar & Phil Goodwin disallowInterceptTouchEvent = disallowIntercept; 246aafe6e8069d9c7fc9c9b2a8793deddf3fe71127fAaron VonderHaar & Phil Goodwin } 247aafe6e8069d9c7fc9c9b2a8793deddf3fe71127fAaron VonderHaar & Phil Goodwin 248aafe6e8069d9c7fc9c9b2a8793deddf3fe71127fAaron VonderHaar & Phil Goodwin public boolean getDisallowInterceptTouchEvent() { 249aafe6e8069d9c7fc9c9b2a8793deddf3fe71127fAaron VonderHaar & Phil Goodwin return disallowInterceptTouchEvent; 250aafe6e8069d9c7fc9c9b2a8793deddf3fe71127fAaron VonderHaar & Phil Goodwin } 2516eedf728138e6f79fa898ff3e31bf61c9b1151dChristian Williams & Tyler Schulz} 252