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