TestFragmentTransaction.java revision 14fdf933f06714ad37f584ae98a523e65dae1aeb
1d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakurpackage com.xtremelabs.robolectric.tester.android.util; 2d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur 3980a429273d92b99f1d177e9b3a1d0452f64913dAaron VonderHaar & Amrit Thakurimport android.os.Handler; 4d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakurimport android.support.v4.app.Fragment; 5d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakurimport android.support.v4.app.FragmentTransaction; 6d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakurimport android.view.View; 7d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur 8d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakurpublic class TestFragmentTransaction extends FragmentTransaction { 9d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur 10d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur private TestFragmentManager fragmentManager; 11d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur private int containerViewId; 12d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur private String tag; 13d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur private Fragment fragment; 14956611edfcf6e4f766f36fd1f168f4300f5a3473Phil Plante & Ryan Richard private boolean replacing; 15956611edfcf6e4f766f36fd1f168f4300f5a3473Phil Plante & Ryan Richard private boolean addedToBackStack; 16956611edfcf6e4f766f36fd1f168f4300f5a3473Phil Plante & Ryan Richard private String backStackName; 1714fdf933f06714ad37f584ae98a523e65dae1aebChris Perry & Tyler Schultz private int lastEnterAnimation; 1814fdf933f06714ad37f584ae98a523e65dae1aebChris Perry & Tyler Schultz private int lastExitAnimation; 19d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur 20d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur public TestFragmentTransaction(TestFragmentManager fragmentManager) { 21d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur this.fragmentManager = fragmentManager; 22d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur } 23d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur 24d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur @Override 25d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur public FragmentTransaction add(Fragment fragment, String tag) { 26956611edfcf6e4f766f36fd1f168f4300f5a3473Phil Plante & Ryan Richard return add(View.NO_ID, fragment, tag); 27d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur } 28d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur 29d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur @Override 30d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur public FragmentTransaction add(int containerViewId, Fragment fragment) { 31956611edfcf6e4f766f36fd1f168f4300f5a3473Phil Plante & Ryan Richard return add(containerViewId, fragment, null); 32d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur } 33d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur 34d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur @Override 35d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur public FragmentTransaction add(int containerViewId, Fragment fragment, String tag) { 36d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur this.containerViewId = containerViewId; 37d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur this.tag = tag; 38d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur this.fragment = fragment; 39d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur return this; 40d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur } 41d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur 42d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur @Override 43d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur public FragmentTransaction replace(int containerViewId, Fragment fragment) { 44956611edfcf6e4f766f36fd1f168f4300f5a3473Phil Plante & Ryan Richard return replace(containerViewId, fragment, null); 45d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur } 46d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur 47d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur @Override 48d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur public FragmentTransaction replace(int containerViewId, Fragment fragment, String tag) { 49d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur this.containerViewId = containerViewId; 50d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur this.tag = tag; 51d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur this.fragment = fragment; 52956611edfcf6e4f766f36fd1f168f4300f5a3473Phil Plante & Ryan Richard this.replacing = true; 53d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur return this; 54d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur } 55d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur 56d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur @Override 57d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur public FragmentTransaction remove(Fragment fragment) { 58d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur return null; 59d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur } 60d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur 61d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur @Override 62d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur public FragmentTransaction hide(Fragment fragment) { 63d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur return null; 64d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur } 65d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur 66d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur @Override 67d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur public FragmentTransaction show(Fragment fragment) { 68d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur return null; 69d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur } 70d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur 71d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur @Override 72d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur public FragmentTransaction detach(Fragment fragment) { 73d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur return null; 74d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur } 75d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur 76d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur @Override 77d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur public FragmentTransaction attach(Fragment fragment) { 78d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur return null; 79d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur } 80d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur 81d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur @Override 82d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur public boolean isEmpty() { 83d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur return false; 84d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur } 85d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur 86d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur @Override 87d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur public FragmentTransaction setCustomAnimations(int enter, int exit) { 8814fdf933f06714ad37f584ae98a523e65dae1aebChris Perry & Tyler Schultz this.lastEnterAnimation = enter; 8914fdf933f06714ad37f584ae98a523e65dae1aebChris Perry & Tyler Schultz this.lastExitAnimation = exit; 9014fdf933f06714ad37f584ae98a523e65dae1aebChris Perry & Tyler Schultz return this; 91d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur } 92d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur 93d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur @Override 94d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur public FragmentTransaction setCustomAnimations(int enter, int exit, int popEnter, int popExit) { 95d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur return null; 96d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur } 97d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur 98d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur @Override 99d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur public FragmentTransaction setTransition(int transit) { 100d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur return null; 101d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur } 102d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur 103d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur @Override 104d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur public FragmentTransaction setTransitionStyle(int styleRes) { 105d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur return null; 106d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur } 107d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur 108d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur @Override 109d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur public FragmentTransaction addToBackStack(String name) { 110956611edfcf6e4f766f36fd1f168f4300f5a3473Phil Plante & Ryan Richard backStackName = name; 111956611edfcf6e4f766f36fd1f168f4300f5a3473Phil Plante & Ryan Richard addedToBackStack = true; 112956611edfcf6e4f766f36fd1f168f4300f5a3473Phil Plante & Ryan Richard return this; 113d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur } 114d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur 115d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur @Override 116d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur public boolean isAddToBackStackAllowed() { 117d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur return false; 118d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur } 119d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur 120d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur @Override 121d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur public FragmentTransaction disallowAddToBackStack() { 122d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur return null; 123d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur } 124d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur 125d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur @Override 126d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur public FragmentTransaction setBreadCrumbTitle(int res) { 127d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur return null; 128d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur } 129d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur 130d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur @Override 131d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur public FragmentTransaction setBreadCrumbTitle(CharSequence text) { 132d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur return null; 133d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur } 134d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur 135d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur @Override 136d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur public FragmentTransaction setBreadCrumbShortTitle(int res) { 137d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur return null; 138d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur } 139d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur 140d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur @Override 141d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur public FragmentTransaction setBreadCrumbShortTitle(CharSequence text) { 142d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur return null; 143d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur } 144d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur 145d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur @Override 146d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur public int commit() { 147980a429273d92b99f1d177e9b3a1d0452f64913dAaron VonderHaar & Amrit Thakur new Handler().post(new Runnable() { 148980a429273d92b99f1d177e9b3a1d0452f64913dAaron VonderHaar & Amrit Thakur @Override 149980a429273d92b99f1d177e9b3a1d0452f64913dAaron VonderHaar & Amrit Thakur public void run() { 150956611edfcf6e4f766f36fd1f168f4300f5a3473Phil Plante & Ryan Richard fragmentManager.commitTransaction(TestFragmentTransaction.this); 151980a429273d92b99f1d177e9b3a1d0452f64913dAaron VonderHaar & Amrit Thakur } 152980a429273d92b99f1d177e9b3a1d0452f64913dAaron VonderHaar & Amrit Thakur }); 153d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur return 0; 154d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur } 155d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur 156d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur @Override 157d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur public int commitAllowingStateLoss() { 158d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur return 0; 159d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur } 160956611edfcf6e4f766f36fd1f168f4300f5a3473Phil Plante & Ryan Richard 161956611edfcf6e4f766f36fd1f168f4300f5a3473Phil Plante & Ryan Richard public boolean isAddedToBackStack() { 162956611edfcf6e4f766f36fd1f168f4300f5a3473Phil Plante & Ryan Richard return addedToBackStack; 163956611edfcf6e4f766f36fd1f168f4300f5a3473Phil Plante & Ryan Richard } 164956611edfcf6e4f766f36fd1f168f4300f5a3473Phil Plante & Ryan Richard 165956611edfcf6e4f766f36fd1f168f4300f5a3473Phil Plante & Ryan Richard public int getContainerViewId() { 166956611edfcf6e4f766f36fd1f168f4300f5a3473Phil Plante & Ryan Richard return containerViewId; 167956611edfcf6e4f766f36fd1f168f4300f5a3473Phil Plante & Ryan Richard } 168956611edfcf6e4f766f36fd1f168f4300f5a3473Phil Plante & Ryan Richard 169956611edfcf6e4f766f36fd1f168f4300f5a3473Phil Plante & Ryan Richard public String getTag() { 170956611edfcf6e4f766f36fd1f168f4300f5a3473Phil Plante & Ryan Richard return tag; 171956611edfcf6e4f766f36fd1f168f4300f5a3473Phil Plante & Ryan Richard } 172956611edfcf6e4f766f36fd1f168f4300f5a3473Phil Plante & Ryan Richard 173956611edfcf6e4f766f36fd1f168f4300f5a3473Phil Plante & Ryan Richard public Fragment getFragment() { 174956611edfcf6e4f766f36fd1f168f4300f5a3473Phil Plante & Ryan Richard return fragment; 175956611edfcf6e4f766f36fd1f168f4300f5a3473Phil Plante & Ryan Richard } 176956611edfcf6e4f766f36fd1f168f4300f5a3473Phil Plante & Ryan Richard 177956611edfcf6e4f766f36fd1f168f4300f5a3473Phil Plante & Ryan Richard public boolean isReplacing() { 178956611edfcf6e4f766f36fd1f168f4300f5a3473Phil Plante & Ryan Richard return replacing; 179956611edfcf6e4f766f36fd1f168f4300f5a3473Phil Plante & Ryan Richard } 180956611edfcf6e4f766f36fd1f168f4300f5a3473Phil Plante & Ryan Richard 181956611edfcf6e4f766f36fd1f168f4300f5a3473Phil Plante & Ryan Richard public String getBackStackName() { 182956611edfcf6e4f766f36fd1f168f4300f5a3473Phil Plante & Ryan Richard return backStackName; 183956611edfcf6e4f766f36fd1f168f4300f5a3473Phil Plante & Ryan Richard } 18414fdf933f06714ad37f584ae98a523e65dae1aebChris Perry & Tyler Schultz 18514fdf933f06714ad37f584ae98a523e65dae1aebChris Perry & Tyler Schultz public int getLastEnterAnimation() { 18614fdf933f06714ad37f584ae98a523e65dae1aebChris Perry & Tyler Schultz return lastEnterAnimation; 18714fdf933f06714ad37f584ae98a523e65dae1aebChris Perry & Tyler Schultz } 18814fdf933f06714ad37f584ae98a523e65dae1aebChris Perry & Tyler Schultz 18914fdf933f06714ad37f584ae98a523e65dae1aebChris Perry & Tyler Schultz public int getLastExitAnimation() { 19014fdf933f06714ad37f584ae98a523e65dae1aebChris Perry & Tyler Schultz return lastExitAnimation; 19114fdf933f06714ad37f584ae98a523e65dae1aebChris Perry & Tyler Schultz } 192d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur} 193