1d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakurpackage com.xtremelabs.robolectric.shadows;
2d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur
3d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakurimport android.app.Activity;
410afa627a8dc3aba930189ee6b15d1aa99531ec8Cristian Esquiviasimport android.content.Context;
5d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakurimport android.os.Bundle;
6d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakurimport android.support.v4.app.Fragment;
7d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakurimport android.view.LayoutInflater;
8d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakurimport android.view.View;
9d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakurimport android.view.ViewGroup;
1010afa627a8dc3aba930189ee6b15d1aa99531ec8Cristian Esquiviasimport android.widget.Button;
1110afa627a8dc3aba930189ee6b15d1aa99531ec8Cristian Esquiviasimport android.widget.FrameLayout;
1210afa627a8dc3aba930189ee6b15d1aa99531ec8Cristian Esquivias
1310afa627a8dc3aba930189ee6b15d1aa99531ec8Cristian Esquiviasimport com.xtremelabs.robolectric.R;
14d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakurimport com.xtremelabs.robolectric.Robolectric;
157eed28d83fa876ef4048228bd374fdee0c2498b7Phil Goodwin & Ryan Richardimport com.xtremelabs.robolectric.util.Transcript;
16d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur
17d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakurpublic class TestFragment extends Fragment {
18d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur    public static final int FRAGMENT_VIEW_ID = 2323;
19d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur    public boolean onAttachWasCalled;
20d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur    public boolean onCreateWasCalled;
21d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur    public boolean onCreateViewWasCalled;
22d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur    public boolean onActivityCreatedWasCalled;
23d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur    public LayoutInflater onCreateViewInflater;
24d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur    public View onCreateViewReturnValue;
25d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur    public boolean onStartWasCalled;
26d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur    public boolean onResumeWasCalled;
272f3d3b0e2e65810225da73deeab1f93a1a4f46a2Phil Goodwin & Ryan Richard    public boolean onSaveInstanceStateWasCalled;
28259acbb3e84ac93599b34040f0a85c76afec28b8Aaron VonderHaar & Tyler Schultz    public boolean onPauseWasCalled;
29d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur    public Activity onAttachActivity;
30ca8d471018964ac1269583cd877ee3fe7e6ceb69Amrit Thakur & Phil Goodwin    public Bundle onActivityCreated_savedInstanceState;
31ed9564528364bd1b457bb8783be0eb62c745238aPhil Goodwin & Ryan Richard    public Bundle onCreateSavedInstanceState;
32ca8d471018964ac1269583cd877ee3fe7e6ceb69Amrit Thakur & Phil Goodwin
337eed28d83fa876ef4048228bd374fdee0c2498b7Phil Goodwin & Ryan Richard    Transcript transcript = new Transcript();
34d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur
35d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur    @Override
36d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur    public void onAttach(Activity activity) {
37d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur        onAttachWasCalled = true;
38d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur        onAttachActivity = activity;
397eed28d83fa876ef4048228bd374fdee0c2498b7Phil Goodwin & Ryan Richard        transcript.add("onAttach");
40d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur    }
41d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur
42d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur    @Override
43d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur    public void onCreate(Bundle savedInstanceState) {
44d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur        onCreateWasCalled = true;
457eed28d83fa876ef4048228bd374fdee0c2498b7Phil Goodwin & Ryan Richard        transcript.add("onCreate");
46ed9564528364bd1b457bb8783be0eb62c745238aPhil Goodwin & Ryan Richard        onCreateSavedInstanceState = savedInstanceState;
47d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur    }
48d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur
49d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur    @Override
50d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
51d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur        onCreateViewWasCalled = true;
52d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur        onCreateViewInflater = inflater;
5310afa627a8dc3aba930189ee6b15d1aa99531ec8Cristian Esquivias
5410afa627a8dc3aba930189ee6b15d1aa99531ec8Cristian Esquivias        Context context = Robolectric.application.getApplicationContext();
5510afa627a8dc3aba930189ee6b15d1aa99531ec8Cristian Esquivias        Button button = new Button(context);
5610afa627a8dc3aba930189ee6b15d1aa99531ec8Cristian Esquivias        button.setId(R.id.button);
5710afa627a8dc3aba930189ee6b15d1aa99531ec8Cristian Esquivias        FrameLayout view = new FrameLayout(context);
5810afa627a8dc3aba930189ee6b15d1aa99531ec8Cristian Esquivias        view.addView(button);
5910afa627a8dc3aba930189ee6b15d1aa99531ec8Cristian Esquivias
6010afa627a8dc3aba930189ee6b15d1aa99531ec8Cristian Esquivias        onCreateViewReturnValue = view;
61d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur        onCreateViewReturnValue.setId(FRAGMENT_VIEW_ID);
627eed28d83fa876ef4048228bd374fdee0c2498b7Phil Goodwin & Ryan Richard        transcript.add("onCreateView");
63d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur        return onCreateViewReturnValue;
64d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur    }
65d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur
66d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur    @Override
677eed28d83fa876ef4048228bd374fdee0c2498b7Phil Goodwin & Ryan Richard    public void onViewCreated(View view, Bundle savedInstanceState) {
687eed28d83fa876ef4048228bd374fdee0c2498b7Phil Goodwin & Ryan Richard        transcript.add("onViewCreated");
697eed28d83fa876ef4048228bd374fdee0c2498b7Phil Goodwin & Ryan Richard    }
707eed28d83fa876ef4048228bd374fdee0c2498b7Phil Goodwin & Ryan Richard
717eed28d83fa876ef4048228bd374fdee0c2498b7Phil Goodwin & Ryan Richard    @Override
72d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur    public void onActivityCreated(Bundle savedInstanceState) {
73d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur        onActivityCreatedWasCalled = true;
74ca8d471018964ac1269583cd877ee3fe7e6ceb69Amrit Thakur & Phil Goodwin        onActivityCreated_savedInstanceState = savedInstanceState;
757eed28d83fa876ef4048228bd374fdee0c2498b7Phil Goodwin & Ryan Richard        transcript.add("onActivityCreated");
76d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur    }
77d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur
78d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur    @Override
79d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur    public void onStart() {
80d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur        onStartWasCalled = true;
817eed28d83fa876ef4048228bd374fdee0c2498b7Phil Goodwin & Ryan Richard        transcript.add("onStart");
82d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur    }
83d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur
84d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur    @Override
85d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur    public void onResume() {
86d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur        onResumeWasCalled = true;
877eed28d83fa876ef4048228bd374fdee0c2498b7Phil Goodwin & Ryan Richard        transcript.add("onResume");
88d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur    }
892f3d3b0e2e65810225da73deeab1f93a1a4f46a2Phil Goodwin & Ryan Richard
902f3d3b0e2e65810225da73deeab1f93a1a4f46a2Phil Goodwin & Ryan Richard    @Override
912f3d3b0e2e65810225da73deeab1f93a1a4f46a2Phil Goodwin & Ryan Richard    public void onSaveInstanceState(Bundle outState) {
922f3d3b0e2e65810225da73deeab1f93a1a4f46a2Phil Goodwin & Ryan Richard        onSaveInstanceStateWasCalled = true;
932f3d3b0e2e65810225da73deeab1f93a1a4f46a2Phil Goodwin & Ryan Richard    }
94259acbb3e84ac93599b34040f0a85c76afec28b8Aaron VonderHaar & Tyler Schultz
95259acbb3e84ac93599b34040f0a85c76afec28b8Aaron VonderHaar & Tyler Schultz    @Override
96259acbb3e84ac93599b34040f0a85c76afec28b8Aaron VonderHaar & Tyler Schultz    public void onPause() {
97259acbb3e84ac93599b34040f0a85c76afec28b8Aaron VonderHaar & Tyler Schultz        onPauseWasCalled = true;
98259acbb3e84ac93599b34040f0a85c76afec28b8Aaron VonderHaar & Tyler Schultz    }
99d1a3090101df9daf574faffe0c3ac84a8217f608Aaron VonderHaar & Amrit Thakur}
100