StartConversation.java

 1package eu.siacs.conversations.ui;
 2
 3import android.app.ActionBar;
 4import android.app.ActionBar.Tab;
 5import android.app.ActionBar.TabListener;
 6import android.app.Fragment;
 7import android.app.FragmentTransaction;
 8import android.app.ListFragment;
 9import android.os.Bundle;
10import android.support.v13.app.FragmentPagerAdapter;
11import android.support.v4.view.ViewPager;
12import eu.siacs.conversations.R;
13
14public class StartConversation extends XmppActivity {
15
16	private Tab mContactsTab;
17	private Tab mConferencesTab;
18	private ViewPager mViewPager;
19	private ListFragment mContactsListFragment = new ListFragment();
20	private ListFragment mConferenceListFragment = new ListFragment();
21
22	private TabListener mTabListener = new TabListener() {
23
24		@Override
25		public void onTabUnselected(Tab tab, FragmentTransaction ft) {
26			// TODO Auto-generated method stub
27
28		}
29
30		@Override
31		public void onTabSelected(Tab tab, FragmentTransaction ft) {
32			mViewPager.setCurrentItem(tab.getPosition());
33		}
34
35		@Override
36		public void onTabReselected(Tab tab, FragmentTransaction ft) {
37			// TODO Auto-generated method stub
38
39		}
40	};
41
42	private ViewPager.SimpleOnPageChangeListener mOnPageChangeListener = new ViewPager.SimpleOnPageChangeListener() {
43		@Override
44		public void onPageSelected(int position) {
45			getActionBar().setSelectedNavigationItem(position);
46		}
47	};
48
49	@Override
50	public void onCreate(Bundle savedInstanceState) {
51		super.onCreate(savedInstanceState);
52		setContentView(R.layout.activity_start_conversation);
53		mViewPager = (ViewPager) findViewById(R.id.start_conversation_view_pager);
54		ActionBar actionBar = getActionBar();
55		actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
56
57		mContactsTab = actionBar.newTab().setText(R.string.contacts)
58				.setTabListener(mTabListener);
59		mConferencesTab = actionBar.newTab().setText(R.string.conferences)
60				.setTabListener(mTabListener);
61		actionBar.addTab(mContactsTab);
62		actionBar.addTab(mConferencesTab);
63
64		
65		mViewPager.setOnPageChangeListener(mOnPageChangeListener);
66		mViewPager.setAdapter(new FragmentPagerAdapter(getFragmentManager()) {
67			
68			@Override
69			public int getCount() {
70				return 2;
71			}
72			
73			@Override
74			public Fragment getItem(int position) {
75				if (position==0) {
76					return mContactsListFragment;
77				} else {
78					return mConferenceListFragment;
79				}
80			}
81		});
82
83	}
84
85	@Override
86	void onBackendConnected() {
87		// TODO Auto-generated method stub
88
89	}
90
91}