1d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd/* 2d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd * Copyright (C) 2015 The Android Open Source Project 3d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd * 4d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd * Licensed under the Apache License, Version 2.0 (the "License"); 5d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd * you may not use this file except in compliance with the License. 6d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd * You may obtain a copy of the License at 7d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd * 8d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd * http://www.apache.org/licenses/LICENSE-2.0 9d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd * 10d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd * Unless required by applicable law or agreed to in writing, software 11d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd * distributed under the License is distributed on an "AS IS" BASIS, 12d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd * See the License for the specific language governing permissions and 14d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd * limitations under the License. 15d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd */ 16d3b009ae55651f1e60950342468e3c37fdeb0796Mike Doddpackage com.android.messaging.ui; 17d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd 18d3b009ae55651f1e60950342468e3c37fdeb0796Mike Doddimport android.support.v4.view.ViewPager; 19d3b009ae55651f1e60950342468e3c37fdeb0796Mike Doddimport android.view.View; 20d3b009ae55651f1e60950342468e3c37fdeb0796Mike Doddimport android.view.ViewGroup; 21d3b009ae55651f1e60950342468e3c37fdeb0796Mike Doddimport android.widget.SimpleCursorAdapter; 22d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd 23d3b009ae55651f1e60950342468e3c37fdeb0796Mike Doddimport com.android.messaging.FakeFactory; 24d3b009ae55651f1e60950342468e3c37fdeb0796Mike Doddimport com.android.messaging.R; 25d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd 26d3b009ae55651f1e60950342468e3c37fdeb0796Mike Doddpublic class CustomHeaderViewPagerTest extends ViewTest<CustomHeaderViewPager> { 27d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd 28d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd @Override 29d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd protected void setUp() throws Exception { 30d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd super.setUp(); 31d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd FakeFactory.register(getInstrumentation().getTargetContext()); 32d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd } 33d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd 34d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd public void testBindFirstLevel() { 35d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd final CustomHeaderViewPager view = new CustomHeaderViewPager(getActivity(), null); 36d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd final SimpleCursorAdapter adapter = 37d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd new SimpleCursorAdapter(getActivity(), 0, null, null, null, 0); 38d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd final CustomHeaderPagerViewHolder[] viewHolders = { 39d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd new FakeListViewHolder(getActivity(), adapter), 40d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd new FakeListViewHolder(getActivity(), adapter) 41d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd }; 42d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd 43d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd view.setViewHolders(viewHolders); 44d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd final ViewPager pager = (ViewPager) view.findViewById(R.id.pager); 45d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd final ViewGroup tabStrip = (ViewGroup) view.findViewById(R.id.tab_strip); 46d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd final ViewPagerTabStrip realTab = (ViewPagerTabStrip) tabStrip.getChildAt(0); 47d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd 48d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd assertEquals(2, realTab.getChildCount()); 49d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd View headerTitleButton = realTab.getChildAt(1); 50d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd // Click on the first page. Now the view pager should switch to that page accordingly. 51d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd clickButton(headerTitleButton); 52d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd assertEquals(1, pager.getCurrentItem()); 53d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd } 54d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd 55d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd @Override 56d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd protected int getLayoutIdForView() { 57d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd // All set up should be done by creating a CustomHeaderViewPager which handles inflating 58d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd // the layout 59d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd return 0; 60d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd } 61d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd} 62