diff --git a/src/net/i2p/android/router/activity/AddressbookActivity.java b/src/net/i2p/android/router/activity/AddressbookActivity.java index bc369020e6c2a2a45b405b5f8b945765e9a6a361..c89e4ac5c48ae99cd51ccbdf3df6fe710dc06a0d 100644 --- a/src/net/i2p/android/router/activity/AddressbookActivity.java +++ b/src/net/i2p/android/router/activity/AddressbookActivity.java @@ -11,6 +11,8 @@ import android.net.Uri; import android.os.Bundle; import android.support.v4.app.Fragment; import android.support.v4.view.MenuItemCompat; +import android.support.v7.app.ActionBar; +import android.support.v7.app.ActionBar.Tab; import android.support.v7.widget.SearchView; import android.view.Menu; import android.view.MenuItem; @@ -24,6 +26,8 @@ public class AddressbookActivity extends I2PActivityBase */ private boolean mTwoPane; + private static final String SELECTED_TAB = "selected_tab"; + @Override protected boolean canUseTwoPanes() { return true; @@ -33,6 +37,35 @@ public class AddressbookActivity extends I2PActivityBase public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); + // Set up action bar for tabs + ActionBar actionBar = getSupportActionBar(); + actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); + + // Router book tab + AddressbookFragment rf = new AddressbookFragment(); + Bundle args = new Bundle(); + args.putString(AddressbookFragment.BOOK_NAME, "router"); + rf.setArguments(args); + Tab tab = actionBar.newTab() + .setText("Router") + .setTabListener(new TabListener(rf)); + actionBar.addTab(tab); + + // Private book tab + AddressbookFragment pf = new AddressbookFragment(); + args = new Bundle(); + args.putString(AddressbookFragment.BOOK_NAME, "private"); + pf.setArguments(args); + tab = actionBar.newTab() + .setText("Private") + .setTabListener(new TabListener(pf)); + actionBar.addTab(tab); + + if (savedInstanceState != null) { + int selected = savedInstanceState.getInt(SELECTED_TAB); + actionBar.setSelectedNavigationItem(selected); + } + if (findViewById(R.id.detail_fragment) != null) { // The detail container view will be present only in the // large-screen layouts (res/values-large and @@ -40,14 +73,13 @@ public class AddressbookActivity extends I2PActivityBase // activity should be in two-pane mode. mTwoPane = true; } + } - // Start with the base view - if (savedInstanceState == null) { - AddressbookFragment f = new AddressbookFragment(); - f.setArguments(getIntent().getExtras()); - getSupportFragmentManager().beginTransaction() - .add(R.id.main_fragment, f).commit(); - } + @Override + public void onSaveInstanceState(Bundle outState) { + super.onSaveInstanceState(outState); + outState.putInt(SELECTED_TAB, + getSupportActionBar().getSelectedNavigationIndex()); } @Override