mirror of
https://github.com/oxen-io/session-android.git
synced 2024-12-27 18:27:43 +00:00
0ff99258ac
Fixes #2239 Closes #27923 // FREEBIE
124 lines
3.7 KiB
Java
124 lines
3.7 KiB
Java
package org.thoughtcrime.securesms;
|
|
|
|
import android.os.Bundle;
|
|
import android.support.annotation.NonNull;
|
|
import android.support.v4.app.Fragment;
|
|
import android.support.v4.app.FragmentManager;
|
|
import android.support.v4.app.FragmentStatePagerAdapter;
|
|
import android.support.v4.app.FragmentTransaction;
|
|
import android.support.v4.view.ViewPager;
|
|
import android.support.v7.app.ActionBar;
|
|
import android.view.MenuItem;
|
|
|
|
import org.thoughtcrime.securesms.crypto.MasterSecret;
|
|
import org.thoughtcrime.securesms.util.DynamicTheme;
|
|
|
|
|
|
public class ImportExportActivity extends PassphraseRequiredActionBarActivity {
|
|
|
|
private MasterSecret masterSecret;
|
|
private TabPagerAdapter tabPagerAdapter;
|
|
private ViewPager viewPager;
|
|
|
|
private DynamicTheme dynamicTheme = new DynamicTheme();
|
|
|
|
@Override
|
|
protected void onPreCreate() {
|
|
dynamicTheme.onCreate(this);
|
|
}
|
|
|
|
@Override
|
|
protected void onCreate(Bundle savedInstanceState, @NonNull MasterSecret masterSecret) {
|
|
this.masterSecret = masterSecret;
|
|
setContentView(R.layout.import_export_activity);
|
|
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
|
|
|
|
initializeResources();
|
|
initializeViewPager();
|
|
initializeTabs();
|
|
}
|
|
|
|
@Override
|
|
public void onResume() {
|
|
dynamicTheme.onResume(this);
|
|
super.onResume();
|
|
}
|
|
|
|
@Override
|
|
public boolean onOptionsItemSelected(MenuItem item) {
|
|
super.onOptionsItemSelected(item);
|
|
|
|
switch (item.getItemId()) {
|
|
case android.R.id.home: finish(); return true;
|
|
}
|
|
|
|
return false;
|
|
}
|
|
|
|
private void initializeResources() {
|
|
this.viewPager = (ViewPager) findViewById(R.id.import_export_pager);
|
|
this.tabPagerAdapter = new TabPagerAdapter(getSupportFragmentManager());
|
|
|
|
viewPager.setAdapter(tabPagerAdapter);
|
|
}
|
|
|
|
private void initializeViewPager() {
|
|
viewPager.setAdapter(tabPagerAdapter);
|
|
viewPager.setOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() {
|
|
@Override
|
|
public void onPageSelected(int position) {
|
|
getSupportActionBar().setSelectedNavigationItem(position);
|
|
}
|
|
});
|
|
}
|
|
|
|
private void initializeTabs() {
|
|
final ActionBar actionBar = getSupportActionBar();
|
|
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
|
|
|
|
ActionBar.TabListener tabListener = new ActionBar.TabListener() {
|
|
public void onTabSelected(ActionBar.Tab tab, FragmentTransaction ft) {
|
|
viewPager.setCurrentItem(tab.getPosition());
|
|
}
|
|
|
|
public void onTabUnselected(ActionBar.Tab tab, FragmentTransaction ft) {}
|
|
public void onTabReselected(ActionBar.Tab tab, FragmentTransaction ft) {}
|
|
};
|
|
|
|
actionBar.addTab(actionBar.newTab().setText(R.string.ImportExportActivity_import).setTabListener(tabListener));
|
|
actionBar.addTab(actionBar.newTab().setText(R.string.ImportExportActivity_export).setTabListener(tabListener));
|
|
}
|
|
|
|
private class TabPagerAdapter extends FragmentStatePagerAdapter {
|
|
private final ImportFragment importFragment;
|
|
private final ExportFragment exportFragment;
|
|
|
|
public TabPagerAdapter(FragmentManager fragmentManager) {
|
|
super(fragmentManager);
|
|
|
|
this.importFragment = new ImportFragment();
|
|
this.exportFragment = new ExportFragment();
|
|
this.importFragment.setMasterSecret(masterSecret);
|
|
this.exportFragment.setMasterSecret(masterSecret);
|
|
}
|
|
|
|
@Override
|
|
public Fragment getItem(int i) {
|
|
if (i == 0) return importFragment;
|
|
else return exportFragment;
|
|
}
|
|
|
|
@Override
|
|
public int getCount() {
|
|
return 2;
|
|
}
|
|
|
|
@Override
|
|
public CharSequence getPageTitle(int i) {
|
|
if (i == 0) return getString(R.string.ImportExportActivity_import);
|
|
else return getString(R.string.ImportExportActivity_export);
|
|
}
|
|
}
|
|
|
|
}
|