enc-backup: working "save to file"

This commit is contained in:
Vincent Breitmoser
2015-09-28 04:50:21 +02:00
parent 7a9a0567ab
commit 66442b9c96

View File

@@ -18,7 +18,12 @@
package org.sufficientlysecure.keychain.ui; package org.sufficientlysecure.keychain.ui;
import java.io.File;
import java.io.IOException;
import java.security.SecureRandom; import java.security.SecureRandom;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
import java.util.Random; import java.util.Random;
import android.animation.ArgbEvaluator; import android.animation.ArgbEvaluator;
@@ -30,6 +35,7 @@ import android.os.Bundle;
import android.support.annotation.ColorInt; import android.support.annotation.ColorInt;
import android.support.annotation.NonNull; import android.support.annotation.NonNull;
import android.support.annotation.Nullable; import android.support.annotation.Nullable;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentManager.OnBackStackChangedListener; import android.support.v4.app.FragmentManager.OnBackStackChangedListener;
import android.text.Editable; import android.text.Editable;
@@ -43,11 +49,15 @@ import android.widget.EditText;
import android.widget.TextView; import android.widget.TextView;
import android.widget.ViewAnimator; import android.widget.ViewAnimator;
import org.sufficientlysecure.keychain.Constants;
import org.sufficientlysecure.keychain.R; import org.sufficientlysecure.keychain.R;
import org.sufficientlysecure.keychain.operations.results.ExportResult; import org.sufficientlysecure.keychain.operations.results.ExportResult;
import org.sufficientlysecure.keychain.provider.TemporaryStorageProvider; import org.sufficientlysecure.keychain.provider.TemporaryStorageProvider;
import org.sufficientlysecure.keychain.service.ExportKeyringParcel; import org.sufficientlysecure.keychain.service.ExportKeyringParcel;
import org.sufficientlysecure.keychain.ui.base.CryptoOperationFragment; import org.sufficientlysecure.keychain.ui.base.CryptoOperationFragment;
import org.sufficientlysecure.keychain.ui.util.Notify;
import org.sufficientlysecure.keychain.ui.util.Notify.Style;
import org.sufficientlysecure.keychain.util.FileHelper;
import org.sufficientlysecure.keychain.util.Passphrase; import org.sufficientlysecure.keychain.util.Passphrase;
@@ -369,8 +379,9 @@ public class BackupCodeEntryFragment extends CryptoOperationFragment<ExportKeyri
private void startBackup() { private void startBackup() {
FragmentActivity activity = getActivity();
if (mCachedExportUri == null) { if (mCachedExportUri == null) {
mCachedExportUri = TemporaryStorageProvider.createFile(getActivity()); mCachedExportUri = TemporaryStorageProvider.createFile(activity);
cryptoOperation(); cryptoOperation();
return; return;
} }
@@ -381,17 +392,19 @@ public class BackupCodeEntryFragment extends CryptoOperationFragment<ExportKeyri
intent.putExtra(Intent.EXTRA_STREAM, mCachedExportUri); intent.putExtra(Intent.EXTRA_STREAM, mCachedExportUri);
startActivity(intent); startActivity(intent);
} else { } else {
// TODO File file;
/*
String filename;
String date = new SimpleDateFormat("yyyy-MM-dd", Locale.getDefault()).format(new Date()); String date = new SimpleDateFormat("yyyy-MM-dd", Locale.getDefault()).format(new Date());
if (exportSecret) { if (mExportSecret) {
filename = new File(Constants.Path.APP_DIR, "keys_" + date + ".asc"); file = new File(Constants.Path.APP_DIR, "backup_" + date + ".gpg");
} else { } else {
filename = new File(Constants.Path.APP_DIR, "keys_" + date + ".pub.asc"); file = new File(Constants.Path.APP_DIR, "backup_" + date + ".pub.gpg");
} }
*/
try {
FileHelper.copyUriData(activity, mCachedExportUri, Uri.fromFile(file));
} catch (IOException e) {
Notify.create(activity, "Error saving file", Style.ERROR).show();
}
} }
} }