1203e06c477634129655bee1db352d7e574513f9cJoe Moore, Lowell Kirsh & Ryan Richardpackage com.xtremelabs.robolectric.shadows; 2203e06c477634129655bee1db352d7e574513f9cJoe Moore, Lowell Kirsh & Ryan Richard 37720cdebf0a7c543dd00569149a357e1501b2063Tyler Schultzimport android.content.Intent; 40db555ccfd46ab2157b6f9b3ebb52936ebb3e5f2Chris Van Vrankenimport android.graphics.drawable.Drawable; 5203e06c477634129655bee1db352d7e574513f9cJoe Moore, Lowell Kirsh & Ryan Richardimport android.view.View; 6203e06c477634129655bee1db352d7e574513f9cJoe Moore, Lowell Kirsh & Ryan Richardimport android.widget.TabHost; 789e9d844e025ab9de8ec19eaf4cb4c6022012254Chris Van Vrankenimport android.widget.TabHost.TabContentFactory; 8203e06c477634129655bee1db352d7e574513f9cJoe Moore, Lowell Kirsh & Ryan Richardimport com.xtremelabs.robolectric.internal.Implementation; 9203e06c477634129655bee1db352d7e574513f9cJoe Moore, Lowell Kirsh & Ryan Richardimport com.xtremelabs.robolectric.internal.Implements; 10b8898598e493d4df40038a501ff77f2aa437e9efMike Grafton & Tyler Schultzimport com.xtremelabs.robolectric.internal.RealObject; 11203e06c477634129655bee1db352d7e574513f9cJoe Moore, Lowell Kirsh & Ryan Richard 12203e06c477634129655bee1db352d7e574513f9cJoe Moore, Lowell Kirsh & Ryan Richard@SuppressWarnings({"UnusedDeclaration"}) 13203e06c477634129655bee1db352d7e574513f9cJoe Moore, Lowell Kirsh & Ryan Richard@Implements(TabHost.TabSpec.class) 14203e06c477634129655bee1db352d7e574513f9cJoe Moore, Lowell Kirsh & Ryan Richardpublic class ShadowTabSpec { 15203e06c477634129655bee1db352d7e574513f9cJoe Moore, Lowell Kirsh & Ryan Richard 16b8898598e493d4df40038a501ff77f2aa437e9efMike Grafton & Tyler Schultz @RealObject 17b8898598e493d4df40038a501ff77f2aa437e9efMike Grafton & Tyler Schultz TabHost.TabSpec realObject; 18b8898598e493d4df40038a501ff77f2aa437e9efMike Grafton & Tyler Schultz private String tag; 19b8898598e493d4df40038a501ff77f2aa437e9efMike Grafton & Tyler Schultz private View indicatorView; 207720cdebf0a7c543dd00569149a357e1501b2063Tyler Schultz private Intent intent; 210db555ccfd46ab2157b6f9b3ebb52936ebb3e5f2Chris Van Vranken private int viewId; 2289e9d844e025ab9de8ec19eaf4cb4c6022012254Chris Van Vranken private View contentView; 230db555ccfd46ab2157b6f9b3ebb52936ebb3e5f2Chris Van Vranken private CharSequence label; 240db555ccfd46ab2157b6f9b3ebb52936ebb3e5f2Chris Van Vranken private Drawable icon; 25b8898598e493d4df40038a501ff77f2aa437e9efMike Grafton & Tyler Schultz 26b8898598e493d4df40038a501ff77f2aa437e9efMike Grafton & Tyler Schultz /** 27b8898598e493d4df40038a501ff77f2aa437e9efMike Grafton & Tyler Schultz * Non-Android accessor, sets the tag on the TabSpec 28b8898598e493d4df40038a501ff77f2aa437e9efMike Grafton & Tyler Schultz */ 29b8898598e493d4df40038a501ff77f2aa437e9efMike Grafton & Tyler Schultz public void setTag(String tag) { 30b8898598e493d4df40038a501ff77f2aa437e9efMike Grafton & Tyler Schultz this.tag = tag; 31b8898598e493d4df40038a501ff77f2aa437e9efMike Grafton & Tyler Schultz } 32b8898598e493d4df40038a501ff77f2aa437e9efMike Grafton & Tyler Schultz 33b8898598e493d4df40038a501ff77f2aa437e9efMike Grafton & Tyler Schultz @Implementation 34b8898598e493d4df40038a501ff77f2aa437e9efMike Grafton & Tyler Schultz public java.lang.String getTag() { 35b8898598e493d4df40038a501ff77f2aa437e9efMike Grafton & Tyler Schultz return tag; 36b8898598e493d4df40038a501ff77f2aa437e9efMike Grafton & Tyler Schultz } 37b8898598e493d4df40038a501ff77f2aa437e9efMike Grafton & Tyler Schultz 38b8898598e493d4df40038a501ff77f2aa437e9efMike Grafton & Tyler Schultz /** 39b8898598e493d4df40038a501ff77f2aa437e9efMike Grafton & Tyler Schultz * Non-Android accessor 40b8898598e493d4df40038a501ff77f2aa437e9efMike Grafton & Tyler Schultz * 41b8898598e493d4df40038a501ff77f2aa437e9efMike Grafton & Tyler Schultz * @return the view object set in a call to {@code TabSpec#setIndicator(View)} 42b8898598e493d4df40038a501ff77f2aa437e9efMike Grafton & Tyler Schultz */ 43b8898598e493d4df40038a501ff77f2aa437e9efMike Grafton & Tyler Schultz public View getIndicatorAsView() { 44b8898598e493d4df40038a501ff77f2aa437e9efMike Grafton & Tyler Schultz return this.indicatorView; 45b8898598e493d4df40038a501ff77f2aa437e9efMike Grafton & Tyler Schultz } 46e2f20558e0dc038ee93e3aa4f439c69c6e97c050Chris Van Vranken 47e2f20558e0dc038ee93e3aa4f439c69c6e97c050Chris Van Vranken public String getIndicatorLabel() { 48e2f20558e0dc038ee93e3aa4f439c69c6e97c050Chris Van Vranken return this.label.toString(); 49e2f20558e0dc038ee93e3aa4f439c69c6e97c050Chris Van Vranken } 50e2f20558e0dc038ee93e3aa4f439c69c6e97c050Chris Van Vranken 51e2f20558e0dc038ee93e3aa4f439c69c6e97c050Chris Van Vranken public Drawable getIndicatorIcon() { 52e2f20558e0dc038ee93e3aa4f439c69c6e97c050Chris Van Vranken return this.icon; 53e2f20558e0dc038ee93e3aa4f439c69c6e97c050Chris Van Vranken } 54e2f20558e0dc038ee93e3aa4f439c69c6e97c050Chris Van Vranken 55e2f20558e0dc038ee93e3aa4f439c69c6e97c050Chris Van Vranken /** 56e2f20558e0dc038ee93e3aa4f439c69c6e97c050Chris Van Vranken * Same as GetIndicatorLabel() 57e2f20558e0dc038ee93e3aa4f439c69c6e97c050Chris Van Vranken * @return 58e2f20558e0dc038ee93e3aa4f439c69c6e97c050Chris Van Vranken */ 59e2f20558e0dc038ee93e3aa4f439c69c6e97c050Chris Van Vranken public String getText() { 60e2f20558e0dc038ee93e3aa4f439c69c6e97c050Chris Van Vranken return label.toString(); 61e2f20558e0dc038ee93e3aa4f439c69c6e97c050Chris Van Vranken } 62203e06c477634129655bee1db352d7e574513f9cJoe Moore, Lowell Kirsh & Ryan Richard @Implementation 63203e06c477634129655bee1db352d7e574513f9cJoe Moore, Lowell Kirsh & Ryan Richard public TabHost.TabSpec setIndicator(View view) { 64b8898598e493d4df40038a501ff77f2aa437e9efMike Grafton & Tyler Schultz this.indicatorView = view; 65b8898598e493d4df40038a501ff77f2aa437e9efMike Grafton & Tyler Schultz return realObject; 66b8898598e493d4df40038a501ff77f2aa437e9efMike Grafton & Tyler Schultz } 670db555ccfd46ab2157b6f9b3ebb52936ebb3e5f2Chris Van Vranken 680db555ccfd46ab2157b6f9b3ebb52936ebb3e5f2Chris Van Vranken @Implementation 690db555ccfd46ab2157b6f9b3ebb52936ebb3e5f2Chris Van Vranken public TabHost.TabSpec setIndicator(CharSequence label) { 700db555ccfd46ab2157b6f9b3ebb52936ebb3e5f2Chris Van Vranken this.label = label; 710db555ccfd46ab2157b6f9b3ebb52936ebb3e5f2Chris Van Vranken return realObject; 720db555ccfd46ab2157b6f9b3ebb52936ebb3e5f2Chris Van Vranken } 730db555ccfd46ab2157b6f9b3ebb52936ebb3e5f2Chris Van Vranken 740db555ccfd46ab2157b6f9b3ebb52936ebb3e5f2Chris Van Vranken @Implementation 750db555ccfd46ab2157b6f9b3ebb52936ebb3e5f2Chris Van Vranken public TabHost.TabSpec setIndicator(CharSequence label, Drawable icon) { 760db555ccfd46ab2157b6f9b3ebb52936ebb3e5f2Chris Van Vranken this.label = label; 770db555ccfd46ab2157b6f9b3ebb52936ebb3e5f2Chris Van Vranken this.icon = icon; 780db555ccfd46ab2157b6f9b3ebb52936ebb3e5f2Chris Van Vranken return realObject; 790db555ccfd46ab2157b6f9b3ebb52936ebb3e5f2Chris Van Vranken } 80b8898598e493d4df40038a501ff77f2aa437e9efMike Grafton & Tyler Schultz 817720cdebf0a7c543dd00569149a357e1501b2063Tyler Schultz /** 827720cdebf0a7c543dd00569149a357e1501b2063Tyler Schultz * Non-Android accessor 837720cdebf0a7c543dd00569149a357e1501b2063Tyler Schultz * 847720cdebf0a7c543dd00569149a357e1501b2063Tyler Schultz * @return the intent object set in a call to {@code TabSpec#setContent(Intent)} 857720cdebf0a7c543dd00569149a357e1501b2063Tyler Schultz */ 867720cdebf0a7c543dd00569149a357e1501b2063Tyler Schultz public Intent getContentAsIntent() { 877720cdebf0a7c543dd00569149a357e1501b2063Tyler Schultz return intent; 887720cdebf0a7c543dd00569149a357e1501b2063Tyler Schultz } 897720cdebf0a7c543dd00569149a357e1501b2063Tyler Schultz 907720cdebf0a7c543dd00569149a357e1501b2063Tyler Schultz @Implementation 915f52066979dd3a3eb6a0df2cd360611c50fb31ecRyan Richard public android.widget.TabHost.TabSpec setContent(Intent intent) { 927720cdebf0a7c543dd00569149a357e1501b2063Tyler Schultz this.intent = intent; 937720cdebf0a7c543dd00569149a357e1501b2063Tyler Schultz return realObject; 94203e06c477634129655bee1db352d7e574513f9cJoe Moore, Lowell Kirsh & Ryan Richard } 950db555ccfd46ab2157b6f9b3ebb52936ebb3e5f2Chris Van Vranken 9689e9d844e025ab9de8ec19eaf4cb4c6022012254Chris Van Vranken @Implementation 9789e9d844e025ab9de8ec19eaf4cb4c6022012254Chris Van Vranken public android.widget.TabHost.TabSpec setContent(TabContentFactory factory) { 9889e9d844e025ab9de8ec19eaf4cb4c6022012254Chris Van Vranken contentView = factory.createTabContent(this.tag); 9989e9d844e025ab9de8ec19eaf4cb4c6022012254Chris Van Vranken return realObject; 10089e9d844e025ab9de8ec19eaf4cb4c6022012254Chris Van Vranken } 10189e9d844e025ab9de8ec19eaf4cb4c6022012254Chris Van Vranken 10289e9d844e025ab9de8ec19eaf4cb4c6022012254Chris Van Vranken 1030db555ccfd46ab2157b6f9b3ebb52936ebb3e5f2Chris Van Vranken @Implementation 1040db555ccfd46ab2157b6f9b3ebb52936ebb3e5f2Chris Van Vranken public android.widget.TabHost.TabSpec setContent(int viewId) { 1050db555ccfd46ab2157b6f9b3ebb52936ebb3e5f2Chris Van Vranken this.viewId = viewId; 1060db555ccfd46ab2157b6f9b3ebb52936ebb3e5f2Chris Van Vranken return realObject; 1070db555ccfd46ab2157b6f9b3ebb52936ebb3e5f2Chris Van Vranken } 10889e9d844e025ab9de8ec19eaf4cb4c6022012254Chris Van Vranken 10989e9d844e025ab9de8ec19eaf4cb4c6022012254Chris Van Vranken public int getContentViewId() { 11089e9d844e025ab9de8ec19eaf4cb4c6022012254Chris Van Vranken return viewId; 11189e9d844e025ab9de8ec19eaf4cb4c6022012254Chris Van Vranken } 11289e9d844e025ab9de8ec19eaf4cb4c6022012254Chris Van Vranken 11389e9d844e025ab9de8ec19eaf4cb4c6022012254Chris Van Vranken public View getContentView() { 11489e9d844e025ab9de8ec19eaf4cb4c6022012254Chris Van Vranken return contentView; 11589e9d844e025ab9de8ec19eaf4cb4c6022012254Chris Van Vranken } 11689e9d844e025ab9de8ec19eaf4cb4c6022012254Chris Van Vranken 117203e06c477634129655bee1db352d7e574513f9cJoe Moore, Lowell Kirsh & Ryan Richard} 118