diff options
author | iNPUTmice <daniel@gultsch.de> | 2014-07-02 16:13:25 +0200 |
---|---|---|
committer | iNPUTmice <daniel@gultsch.de> | 2014-07-10 00:53:43 +0200 |
commit | 502a1bdb9c3f6ddb8cdcf9be8c20862f4d55feaf (patch) | |
tree | bea5682f30103256ba79afcb4435dcec604c3399 /src/eu/siacs | |
parent | 9260ed404750d7e718e12535030104ff4debda68 (diff) |
changed support lib to v13. added tabs and fragments to start conversation activity
Diffstat (limited to '')
-rw-r--r-- | src/eu/siacs/conversations/ui/ConversationActivity.java | 2 | ||||
-rw-r--r-- | src/eu/siacs/conversations/ui/StartConversation.java | 80 |
2 files changed, 81 insertions, 1 deletions
diff --git a/src/eu/siacs/conversations/ui/ConversationActivity.java b/src/eu/siacs/conversations/ui/ConversationActivity.java index c11e1d65..c29529ec 100644 --- a/src/eu/siacs/conversations/ui/ConversationActivity.java +++ b/src/eu/siacs/conversations/ui/ConversationActivity.java @@ -488,7 +488,7 @@ public class ConversationActivity extends XmppActivity { attachFilePopup.show(); break; case R.id.action_add: - startActivity(new Intent(this, ContactsActivity.class)); + startActivity(new Intent(this, StartConversation.class)); break; case R.id.action_archive: this.endConversation(getSelectedConversation()); diff --git a/src/eu/siacs/conversations/ui/StartConversation.java b/src/eu/siacs/conversations/ui/StartConversation.java index f2dde78e..9dccb411 100644 --- a/src/eu/siacs/conversations/ui/StartConversation.java +++ b/src/eu/siacs/conversations/ui/StartConversation.java @@ -1,7 +1,87 @@ package eu.siacs.conversations.ui; +import android.app.ActionBar; +import android.app.ActionBar.Tab; +import android.app.ActionBar.TabListener; +import android.app.Fragment; +import android.app.FragmentTransaction; +import android.app.ListFragment; +import android.os.Bundle; +import android.support.v13.app.FragmentPagerAdapter; +import android.support.v4.view.ViewPager; +import eu.siacs.conversations.R; + public class StartConversation extends XmppActivity { + private Tab mContactsTab; + private Tab mConferencesTab; + private ViewPager mViewPager; + private ListFragment mContactsListFragment = new ListFragment(); + private ListFragment mConferenceListFragment = new ListFragment(); + + private TabListener mTabListener = new TabListener() { + + @Override + public void onTabUnselected(Tab tab, FragmentTransaction ft) { + // TODO Auto-generated method stub + + } + + @Override + public void onTabSelected(Tab tab, FragmentTransaction ft) { + mViewPager.setCurrentItem(tab.getPosition()); + } + + @Override + public void onTabReselected(Tab tab, FragmentTransaction ft) { + // TODO Auto-generated method stub + + } + }; + + private ViewPager.SimpleOnPageChangeListener mOnPageChangeListener = new ViewPager.SimpleOnPageChangeListener() { + @Override + public void onPageSelected(int position) { + getActionBar().setSelectedNavigationItem(position); + } + }; + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_start_conversation); + mViewPager = (ViewPager) findViewById(R.id.start_conversation_view_pager); + ActionBar actionBar = getActionBar(); + actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); + + mContactsTab = actionBar.newTab().setText(R.string.contacts) + .setTabListener(mTabListener); + mConferencesTab = actionBar.newTab().setText(R.string.conferences) + .setTabListener(mTabListener); + actionBar.addTab(mContactsTab); + actionBar.addTab(mConferencesTab); + + + mViewPager.setOnPageChangeListener(mOnPageChangeListener); + mViewPager.setAdapter(new FragmentPagerAdapter(getFragmentManager()) { + + @Override + public int getCount() { + return 2; + } + + @Override + public Fragment getItem(int position) { + if (position==0) { + return mContactsListFragment; + } else { + return mConferenceListFragment; + } + } + }); + + } + @Override void onBackendConnected() { // TODO Auto-generated method stub |