aboutsummaryrefslogtreecommitdiffstats
path: root/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/ui/RemoteBackupActivity.java
diff options
context:
space:
mode:
authorDominik Schürmann <dominik@dominikschuermann.de>2016-05-07 12:24:27 +0300
committerDominik Schürmann <dominik@dominikschuermann.de>2016-05-07 12:24:27 +0300
commit9306b5ce325d0c3a968a4a0e64468163666addb7 (patch)
tree6e8c312917f65b7a3f8a68d38124cc6024cd1675 /OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/ui/RemoteBackupActivity.java
parentd4612b5e173455a24adbae2bfd4654ae065556cc (diff)
parentc8b112c70d9f45b00bfd30e2ac746bfbbb31671e (diff)
downloadopen-keychain-9306b5ce325d0c3a968a4a0e64468163666addb7.tar.gz
open-keychain-9306b5ce325d0c3a968a4a0e64468163666addb7.tar.bz2
open-keychain-9306b5ce325d0c3a968a4a0e64468163666addb7.zip
Merge branch 'backup-api'
Diffstat (limited to 'OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/ui/RemoteBackupActivity.java')
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/ui/RemoteBackupActivity.java73
1 files changed, 73 insertions, 0 deletions
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/ui/RemoteBackupActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/ui/RemoteBackupActivity.java
new file mode 100644
index 000000000..866775f97
--- /dev/null
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/ui/RemoteBackupActivity.java
@@ -0,0 +1,73 @@
+/*
+ * Copyright (C) 2016 Dominik Schürmann <dominik@dominikschuermann.de>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+package org.sufficientlysecure.keychain.remote.ui;
+
+import android.content.Intent;
+import android.net.Uri;
+import android.os.Bundle;
+import android.support.v4.app.Fragment;
+import android.support.v4.app.FragmentManager;
+
+import org.sufficientlysecure.keychain.R;
+import org.sufficientlysecure.keychain.remote.CryptoInputParcelCacheService;
+import org.sufficientlysecure.keychain.service.input.CryptoInputParcel;
+import org.sufficientlysecure.keychain.ui.BackupActivity;
+import org.sufficientlysecure.keychain.ui.BackupCodeFragment;
+
+public class RemoteBackupActivity extends BackupActivity {
+
+ public static final String EXTRA_DATA = "data";
+
+ private Intent mPendingIntentData;
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+
+ // noinspection ConstantConditions, we know this activity has an action bar
+ getSupportActionBar().setDisplayHomeAsUpEnabled(true);
+
+ if (savedInstanceState == null) {
+ Intent intent = getIntent();
+ boolean exportSecret = intent.getBooleanExtra(EXTRA_SECRET, false);
+ long[] masterKeyIds = intent.getLongArrayExtra(EXTRA_MASTER_KEY_IDS);
+ mPendingIntentData = getIntent().getParcelableExtra(EXTRA_DATA);
+
+ // NOTE: return backup!
+ Fragment frag = BackupCodeFragment.newInstance(masterKeyIds, exportSecret, false);
+
+ FragmentManager fragMan = getSupportFragmentManager();
+ fragMan.beginTransaction()
+ .setCustomAnimations(0, 0)
+ .replace(R.id.content_frame, frag)
+ .commit();
+ }
+
+ }
+
+ @Override
+ public void handleBackupOperation(CryptoInputParcel inputParcel) {
+ // instead of handling the operation here directly,
+ // cache inputParcel containing the backup code and return to client
+ // Next time, the actual operation is directly executed.
+ CryptoInputParcelCacheService.addCryptoInputParcel(this, mPendingIntentData, inputParcel);
+ setResult(RESULT_OK, mPendingIntentData);
+ finish();
+ }
+
+}