Export identities to Documents folder

This commit is contained in:
str4d
2014-07-04 06:21:56 +00:00
parent 5ea895de01
commit d0ac806ff8
4 changed files with 50 additions and 0 deletions

View File

@@ -8,6 +8,7 @@ import i2p.bote.android.util.SummaryEditTextPreference;
import i2p.bote.email.EmailIdentity;
import i2p.bote.fileencryption.PasswordException;
import java.io.File;
import java.io.IOException;
import java.security.GeneralSecurityException;
import java.util.Collection;
@@ -22,6 +23,7 @@ import android.content.SharedPreferences;
import android.os.AsyncTask;
import android.os.Build;
import android.os.Bundle;
import android.os.Environment;
import android.preference.CheckBoxPreference;
import android.preference.EditTextPreference;
import android.preference.ListPreference;
@@ -31,11 +33,15 @@ import android.preference.PreferenceCategory;
import android.preference.PreferenceFragment;
import android.preference.PreferenceManager;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ListAdapter;
import android.widget.TextView;
import android.widget.Toast;
public class SettingsActivity extends PreferenceActivity {
// Actions for legacy settings
@@ -120,6 +126,38 @@ public class SettingsActivity extends PreferenceActivity {
return SettingsFragment.class.getName().equals(fragmentName);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.settings, menu);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.export_identities:
// TODO ask if file should be encrypted (remove .txt from filename if yes)
// TODO ask for filename
File exportFile = new File(Environment.getExternalStoragePublicDirectory(
Environment.DIRECTORY_DOCUMENTS
), "identities.txt");
try {
// TODO ask for password
I2PBote.getInstance().getIdentities().export(exportFile, null);
Toast.makeText(this, "Identities exported to Documents folder", Toast.LENGTH_SHORT).show();
} catch (IOException e) {
e.printStackTrace();
} catch (GeneralSecurityException e) {
e.printStackTrace();
} catch (PasswordException e) {
e.printStackTrace();
}
return true;
default:
return super.onOptionsItemSelected(item);
}
}
//
// Building Headers