enc-backup: working "save to file"
This commit is contained in:
@@ -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();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user