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