1package com.xtremelabs.robolectric.shadows;
2
3import android.app.Activity;
4import android.content.Context;
5import android.os.Bundle;
6import android.support.v4.app.Fragment;
7import android.view.LayoutInflater;
8import android.view.View;
9import android.view.ViewGroup;
10import android.widget.Button;
11import android.widget.FrameLayout;
12
13import com.xtremelabs.robolectric.R;
14import com.xtremelabs.robolectric.Robolectric;
15import com.xtremelabs.robolectric.util.Transcript;
16
17public class TestFragment extends Fragment {
18    public static final int FRAGMENT_VIEW_ID = 2323;
19    public boolean onAttachWasCalled;
20    public boolean onCreateWasCalled;
21    public boolean onCreateViewWasCalled;
22    public boolean onActivityCreatedWasCalled;
23    public LayoutInflater onCreateViewInflater;
24    public View onCreateViewReturnValue;
25    public boolean onStartWasCalled;
26    public boolean onResumeWasCalled;
27    public boolean onSaveInstanceStateWasCalled;
28    public boolean onPauseWasCalled;
29    public Activity onAttachActivity;
30    public Bundle onActivityCreated_savedInstanceState;
31    public Bundle onCreateSavedInstanceState;
32
33    Transcript transcript = new Transcript();
34
35    @Override
36    public void onAttach(Activity activity) {
37        onAttachWasCalled = true;
38        onAttachActivity = activity;
39        transcript.add("onAttach");
40    }
41
42    @Override
43    public void onCreate(Bundle savedInstanceState) {
44        onCreateWasCalled = true;
45        transcript.add("onCreate");
46        onCreateSavedInstanceState = savedInstanceState;
47    }
48
49    @Override
50    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
51        onCreateViewWasCalled = true;
52        onCreateViewInflater = inflater;
53
54        Context context = Robolectric.application.getApplicationContext();
55        Button button = new Button(context);
56        button.setId(R.id.button);
57        FrameLayout view = new FrameLayout(context);
58        view.addView(button);
59
60        onCreateViewReturnValue = view;
61        onCreateViewReturnValue.setId(FRAGMENT_VIEW_ID);
62        transcript.add("onCreateView");
63        return onCreateViewReturnValue;
64    }
65
66    @Override
67    public void onViewCreated(View view, Bundle savedInstanceState) {
68        transcript.add("onViewCreated");
69    }
70
71    @Override
72    public void onActivityCreated(Bundle savedInstanceState) {
73        onActivityCreatedWasCalled = true;
74        onActivityCreated_savedInstanceState = savedInstanceState;
75        transcript.add("onActivityCreated");
76    }
77
78    @Override
79    public void onStart() {
80        onStartWasCalled = true;
81        transcript.add("onStart");
82    }
83
84    @Override
85    public void onResume() {
86        onResumeWasCalled = true;
87        transcript.add("onResume");
88    }
89
90    @Override
91    public void onSaveInstanceState(Bundle outState) {
92        onSaveInstanceStateWasCalled = true;
93    }
94
95    @Override
96    public void onPause() {
97        onPauseWasCalled = true;
98    }
99}
100