1579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilsonpackage com.xtremelabs.robolectric.shadows;
2579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
3579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilsonimport android.content.Intent;
4579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilsonimport android.graphics.drawable.Drawable;
5579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilsonimport android.view.View;
6579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilsonimport android.widget.TabHost;
7579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilsonimport android.widget.TabHost.TabContentFactory;
8579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilsonimport com.xtremelabs.robolectric.internal.Implementation;
9579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilsonimport com.xtremelabs.robolectric.internal.Implements;
10579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilsonimport com.xtremelabs.robolectric.internal.RealObject;
11579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
12579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson@SuppressWarnings({"UnusedDeclaration"})
13579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson@Implements(TabHost.TabSpec.class)
14579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilsonpublic class ShadowTabSpec {
15579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
16579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    @RealObject
17579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    TabHost.TabSpec realObject;
18579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    private String tag;
19579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    private View indicatorView;
20579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    private Intent intent;
21579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson	private int viewId;
22579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson	private View contentView;
23579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson	private CharSequence label;
24579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson	private Drawable icon;
25579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
26579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    /**
27579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson     * Non-Android accessor, sets the tag on the TabSpec
28579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson     */
29579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public void setTag(String tag) {
30579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        this.tag = tag;
31579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    }
32579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
33579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    @Implementation
34579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public java.lang.String getTag() {
35579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        return tag;
36579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    }
37579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
38579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    /**
39579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson     * Non-Android accessor
40579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson     *
41579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson     * @return the view object set in a call to {@code TabSpec#setIndicator(View)}
42579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson     */
43579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public View getIndicatorAsView() {
44579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        return this.indicatorView;
45579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    }
46579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
47579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public String getIndicatorLabel() {
48579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        return this.label.toString();
49579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    }
50579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
51579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public Drawable getIndicatorIcon() {
52579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        return this.icon;
53579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    }
54579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
55579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson	/**
56579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson	 * Same as GetIndicatorLabel()
57579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson	 * @return
58579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson	 */
59579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson	public String getText() {
60579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson		return label.toString();
61579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson	}
62579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    @Implementation
63579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public TabHost.TabSpec setIndicator(View view) {
64579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        this.indicatorView = view;
65579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        return realObject;
66579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    }
67579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
68579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    @Implementation
69579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public TabHost.TabSpec setIndicator(CharSequence label) {
70579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    	this.label = label;
71579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        return realObject;
72579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    }
73579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
74579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    @Implementation
75579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public TabHost.TabSpec setIndicator(CharSequence label, Drawable icon) {
76579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    	this.label = label;
77579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    	this.icon = icon;
78579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        return realObject;
79579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    }
80579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
81579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    /**
82579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson     * Non-Android accessor
83579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson     *
84579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson     * @return the intent object set in a call to {@code TabSpec#setContent(Intent)}
85579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson     */
86579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public Intent getContentAsIntent() {
87579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        return intent;
88579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    }
89579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
90579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    @Implementation
91579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public android.widget.TabHost.TabSpec setContent(Intent intent) {
92579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        this.intent = intent;
93579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        return realObject;
94579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    }
95579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
96579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    @Implementation
97579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public android.widget.TabHost.TabSpec setContent(TabContentFactory factory) {
98579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    	contentView = factory.createTabContent(this.tag);
99579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        return realObject;
100579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    }
101579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
102579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
103579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    @Implementation
104579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public android.widget.TabHost.TabSpec setContent(int viewId) {
105579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    	this.viewId = viewId;
106579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson        return realObject;
107579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    }
108579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
109579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public int getContentViewId() {
110579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    	return viewId;
111579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    }
112579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
113579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    public View getContentView() {
114579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    	return contentView;
115579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson    }
116579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson
117579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson}
118579d7739c53a2707ad711a2d2cae46d7d782f06Jesse Wilson